gpt4 book ai didi

javascript - 在javascript中减去长数字

转载 作者:可可西里 更新时间:2023-11-01 02:52:38 26 4
gpt4 key购买 nike

为什么在下面的脚本中 q == 0?

<script>
var start = 1234567890123456789;
var end = 1234567890123456799;
var q = end - start;
alert(q);
</script>

我认为结果应该是 10。这两个数相减的正确方法是什么?

最佳答案

因为 JavaScript 中的数字是 float 。它们的精度有限。

当 JavaScript 遇到一个非常长的数字时,它会将它四舍五入到它可以表示为 64 位 float 的最接近的数字。在您的脚本中,startend 被四舍五入为相同的值。

alert(1234567890123456789);   // says: 1234567890123456800
alert(1234567890123456799); // says: 1234567890123456800

没有对大整数进行精确算术的内置方法,但您可以使用 BigInteger 库,例如 this one

关于javascript - 在javascript中减去长数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2050111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com