如何使用JavaScript处理复杂的100位(+;/-)乘以100位(+;/-)的乘法,而不会出现溢出错误?

如何使用JavaScript处理复杂的100位(+;/-)乘以100位(+;/-)的乘法,而不会出现溢出错误?,javascript,bigint,Javascript,Bigint,当我尝试BigInt时,结果返回了错误的结果: BigInt(123456789123456789*111111111111) 13717421013703702653171662848n 这就是手写计算的实际结果: 13717421013703703578986282579 有没有一种方法可以在没有这个错误的情况下产生正确的结果?谢谢。不要将乘法传递给BigInt,而是将两个数字转换为BigInt,然后再相乘: const big=123456789123456789n*11111111

当我尝试BigInt时,结果返回了错误的结果:

BigInt(123456789123456789*111111111111)
13717421013703702653171662848n
这就是手写计算的实际结果:

13717421013703703578986282579
有没有一种方法可以在没有这个错误的情况下产生正确的结果?谢谢。

不要将乘法传递给
BigInt
,而是将两个数字转换为BigInt,然后再相乘:

const big=123456789123456789n*111111111N;
console.log(大)
不是将乘法传递给
BigInt
,而是将两个数字转换为BigInt,然后再相乘:

const big=123456789123456789n*111111111N;

console.log(大)
BigInt(“12345678123456789”)*BigInt(“111111111”)
1234567891123456789N*111111111111 N
12345678123456789*111111111
只会产生一个规则的、不精确的数字。
BigInt(“12345678123456789”)*BigInt(“111111111111”)
12345678123456789n*111111111111
123456789123456789*111111111只会产生一个规则的、不精确的数字。如果需要数字的完整字符串版本/分组版本,可以添加一个
toLocaleString
。>(123456789123456789n*111111111 N)。ToLocalString('fullwide',{useGrouping:false})如果需要数字的完整字符串版本/分组版本,可以添加
ToLocalString
。>(123456789123456789n*11111111N).ToLocalString('fullwide',{useGrouping:false})