如何使用 JavaScript 处理复杂的 100 位数字 (+/-) 乘以 100 位数字 (+/-) 的乘法而不出现溢出错误?
How to use JavaScript to handle complex 100 digits (+/-) times 100 digits (+/-) multiplication without having an overflow error?
当我尝试BigInt时,结果返回了一个错误的结果:
BigInt(123456789123456789*111111111111)
13717421013703702653171662848n
而手写计算的实际结果应该是这样的:
13717421013703703578986282579
有没有办法在没有这个错误的情况下产生正确的结果?谢谢。
不是将 乘法 传递给 BigInt
,而是将两个数字都转换为 BigInt,然后再将它们相乘:
const big = 123456789123456789n * 111111111111n;
console.log(big)
注意,使用浏览器的控制台,而不是代码段的控制台(另外,这在 Safari 中不起作用)。
当我尝试BigInt时,结果返回了一个错误的结果:
BigInt(123456789123456789*111111111111)
13717421013703702653171662848n
而手写计算的实际结果应该是这样的:
13717421013703703578986282579
有没有办法在没有这个错误的情况下产生正确的结果?谢谢。
不是将 乘法 传递给 BigInt
,而是将两个数字都转换为 BigInt,然后再将它们相乘:
const big = 123456789123456789n * 111111111111n;
console.log(big)
注意,使用浏览器的控制台,而不是代码段的控制台(另外,这在 Safari 中不起作用)。