为什么javascript中大于15位的数字会自动四舍五入?

为什么javascript中大于15位的数字会自动四舍五入?,javascript,numbers,rounding,Javascript,Numbers,Rounding,我对javascript代码有问题。我的问题是,我在HTML中有一个货币字段,当我使用javascript计算另一个字段时;然后,如果此输入字段的位数大于15,则自动舍入。 你可以在firebug中试试这个。例如: (9999999999999999); 10000000000000000 如何解决此问题?您有一个货币字段,您关心的是将其舍入到9999999999999 给我留下深刻印象的是:p 这是大浮点数的限制。除了获得一个bigint javascript库之外,没有简单的方法可以修复

我对javascript代码有问题。我的问题是,我在HTML中有一个货币字段,当我使用javascript计算另一个字段时;然后,如果此输入字段的位数大于15,则自动舍入。 你可以在firebug中试试这个。例如:

(9999999999999999);
10000000000000000 
如何解决此问题?

您有一个货币字段,您关心的是将其舍入到9999999999999

给我留下深刻印象的是:p

这是大浮点数的限制。除了获得一个bigint javascript库之外,没有简单的方法可以修复它,我相信还有一些方法。但老实说,你为什么在乎呢?

你有一个货币字段,你在乎的是超过99999999999999

给我留下深刻印象的是:p


这是大浮点数的限制。除了获得一个bigint javascript库之外,没有简单的方法可以修复它,我相信还有一些方法。但老实说,你为什么在乎呢?

下面的链接可能会对你有所帮助

而且, 此库将有助于找到解决方法

问候,,
Cyril

以下链接可能会对您有所帮助

而且, 此库将有助于找到解决方法

问候,,
Cyril

Javascript数字不是32位的。它们是IEEE-754双精度,需要64位:1号,11指数,52(显式)尾数。@Ken,是的,你说得对,我累了。这是对浮点数的限制。更好?:)Javascript数字不是32位的。它们是IEEE-754双精度,需要64位:1号,11指数,52(显式)尾数。@Ken,是的,你说得对,我累了。这是对浮点数的限制。更好?:)