如何在Firefox / IE7中处理大于17位的数字?

时间:2009-07-06 11:45:44

标签: javascript numbers

对于Web应用程序,我希望能够处理最大64位的数字。 在测试期间,我发现javascript(或整个浏览器)似乎处理多达17位数。 64位数字最多有20位数字,但在javascript处理完数字后,最低3位数字被舍入并设置为0 .... 这有什么想法来自哪里? 更重要的是,任何想法如何解决它?

4 个答案:

答案 0 :(得分:5)

如果达到Javascript限制(see here),我认为您需要将它们视为字符串

答案 1 :(得分:5)

在Javascript中,所有数字都是IEEE double precision个浮点数,这意味着你只有大约16位数的精度; 64位的其余部分保留给指数。正如Fabien指出的那样,如果你需要全部64位,你需要运用一些技巧来获得更高的精度。

答案 2 :(得分:2)

作为其他节点,JS实现了双打,因此您必须寻找其他地方来处理更大的数字。 BigInt是一个用于整数任意精度数学的库。

答案 3 :(得分:0)

您可以尝试将它们分成两个或更多个数字(可能在一个类中),但您可能需要一些算术助手函数来处理它们。

干杯