如何整理9999999999999999至9999999999999998

时间:2013-05-17 06:26:35

标签: javascript jquery string numbers

在我的情况下,我使用parseFloat()将字符串值'9999999999999999'转换为整数。但它转换为下一个数字,即10000000000000000.但我需要将它转换为该数字之前,即999999999999999998.我在谷歌搜索了一段时间。但无法明确实现这一点。

3 个答案:

答案 0 :(得分:0)

试试这个

document.getElementById("demo").innerHTML=Math.round(9999999999999999-2);

<强>输出

9999999999999998

答案 1 :(得分:0)

此数字太大,无法在JavaScript Number值中精确表示。因此,没有任何数量的转换会像您想要的那样可靠/精确地为您提供值。

即。 (9999999999999999-1)===(9999999999999999)会返回true,但(9999999999999998)===(9999999999999999)会返回false。

如果您需要JavaScript中的这种高精度(类似于许多其他语言),您需要使用专门的数据类型(遗憾的是,JavaScript中没有内置的“BigInteger”类型。)

答案 2 :(得分:0)

你需要使用一些外部的javascript库来处理这样的大数字,导致你不能在javascript整数中丢失预设的最大数字是9007199254740992(解释:What is JavaScript's highest integer value that a Number can go to without losing precision?

这里有一些链接,供人们讨论一些用于javascript大数字的库。 How to deal with big numbers in javascript