繁体   English   中英

如何避免在JavaScript或jquery中将小数舍入

[英]How to avoid decimal rounding in javascript or jquery

我应该如何避免在javascript中进行十进制舍入假设我已经输入了

input : 99999999999.999999 
Expected output : 99999999999.999999 

但我得到像

 100000000000

在这里,内部javascript将小数点后一位四舍五入。 请让我知道如何避免这种JavaScript舍入??。

例如:

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

如@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

不是四舍五入

是浮点错误

在编程中学习浮点数!

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

参考:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM