如何避免javascript或jquery中的十进制舍入

时间:2014-07-10 09:10:41

标签: javascript jquery

我应该如何避免javascript中的十进制舍入 假设我输入了

input : 99999999999.999999 
Expected output : 99999999999.999999 

但是我得到了像

这样的输出
 100000000000

这里,内部javascript舍入小数位。 请让我知道如何避免这个javascript舍入???。

例如:

var test = 99999999999.999999;
console.log(test); //This will print 100000000000 instead

2 个答案:

答案 0 :(得分:3)

正如@Aliendroid建议的那样,您可以使用BigDecimal.js库。在我看来,这是在JavaScript中处理double和float的最佳方法

要更具体地回答您的问题,您实际上可以这样做:

var test_number = new BigDecimal('99999999999.999999'); 
console.log(test_number.setScale(6).toString());

和你原来的问题:

  

请让我知道如何避免这个javascript舍入???

嗯,你不能因为JavaScript中没有双号,只有浮点数。例如,如果您执行以下操作:

console.log(99999999999.99); //This is a float number

这实际上会输出:99999999999.99

答案 1 :(得分:1)

它不是圆形

是浮点错误

在编程中学习浮点数!

如果需要使用字符串和一些大数字库

参考:

http://floating-point-gui.de/

https://github.com/dtrebbien/BigDecimal.js