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

Javascript 我如何处理Firefox/IE7中大于17位的数字?,javascript,numbers,Javascript,Numbers,对于web应用程序,我希望能够处理多达64位的数字。 在测试期间,我发现javascript(或整个浏览器)似乎可以处理多达17位数字。64位数字的最大值为20位,但在javascript处理该数字后,最低有效值的3位将被舍入并设置为0。。。。 你知道这是从哪里来的吗? 更重要的是,你知道如何解决这个问题吗?我认为如果你达到了Javascript的极限,你需要把它们当作字符串处理()在Javascript中,所有的数字都是浮点数,这意味着你只有大约16位精度;64位的其余部分保留给指数。正如Fa

对于web应用程序,我希望能够处理多达64位的数字。 在测试期间,我发现javascript(或整个浏览器)似乎可以处理多达17位数字。64位数字的最大值为20位,但在javascript处理该数字后,最低有效值的3位将被舍入并设置为0。。。。 你知道这是从哪里来的吗?
更重要的是,你知道如何解决这个问题吗?

我认为如果你达到了Javascript的极限,你需要把它们当作字符串处理()

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

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


干杯

正如其他人所指出的,JS实现了双倍运算,因此您必须寻找其他地方来处理更大的数字。是一个用于整数任意精度数学的库