Possible Duplicate:
Is JavaScript’s Math broken?
有趣的问题,但为什么 16.1 javascript 变得“疯狂”? :)
Code :
var value1=16.1;
var value2=16.2;
console.log(value1 * 1000);
console.log(value2 * 1000);
输出:
16100.000000000002
16200
为什么?
最佳答案
那是因为 javascript 在内部将所有内容转换为 double 型。因此,由于浮点不准确,所有计算都会产生一些噪音:Floating point inaccuracy examples
解决此问题的一种方法是在所有中间计算后向下舍入到最接近的整数。
关于Javascript 不喜欢 16.1 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13248129/