Javascript 不喜欢 16.1 值?

标签 javascript

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

解决此问题的一种方法是在所有中间计算后向下舍入到最接近的整数。

Answer Copy From Here

关于Javascript 不喜欢 16.1 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13248129/

相关文章:

javascript - 将向上/向下图标添加到 Twitter Bootstrap Accordion 不起作用?

javascript - HTML 按钮导致不必要的页面加载

javascript - 以浮点精度而不是整数将纬度/经度投影到像素

javascript - 无法加载 jQuery 代码

javascript - 如何通过dockerfile在ENTRYPOINT之前执行shell命令

javascript - 通过 React 从 mongoDB 中检索数据

javascript - 通过查找 "Trident"字符串检测 IE

javascript - 使用纯JS计算布局

javascript - jQuery 以最佳方式定位特定链接

javascript - 通过 JS 或 Jquery 返回输入组的当前索引