Node BigInt函数对两个不同的数字显示相同的内容



我正试图用nodejs和BigInt函数非常准确地计算大数字。但是BigInt函数对于两个不同的数字返回相同的结果:

输入>BigInt(1320**2+250000000**2(
输出>624999999999999973944983552n

输入>BigInt(250000000**2(
输出>624999999999999973944983552n

您正试图将正则数传递给BigInt()构造函数,而这些正则数在到达BigInt构造函数之前就受到正则数限制。你需要传递字符串,或者如果你想对它们进行数学运算,那么在对它们进行算术运算之前,你需要先显式地将数值声明为BigInt值。

例如,您可以这样做:

console.log(1320n ** 2n + 25000000000000n ** 2n)
console.log(25000000000000n ** 2n)

这将给你:

625000000000000000001742400n
625000000000000000000000000n

最新更新