javascript - 为什么除法在javascript中产生更多十进制值的结果
问题描述
当我执行以下操作时,我得到如下结果。
实际:5.9 / 100 = 0.059000000000000004
预期:5.9 / 100 = 0.059
有人有想法吗?
谢谢
解决方案
来自MDN:
数字
根据规范,JavaScript 中的数字是“双精度 64 位格式 IEEE 754 值”。这会产生一些有趣的后果。JavaScript 中没有整数之类的东西,所以如果你习惯于 C 或 Java 中的数学,你必须对你的算术小心一点。
另外,请注意以下内容:
0.1 + 0.2 == 0.30000000000000004;
在实践中,整数值被视为 32 位整数,一些实现甚至以这种方式存储它,直到它们被要求执行对数字有效但对 32 位整数无效的指令。这对于按位操作可能很重要。
支持标准算术运算符,包括加法、减法、模(或余数)算术等。还有一个我们之前没有提到的内置对象 Math,它提供了高级数学函数和常量:
推荐阅读
- ionic-framework - 如何从谷歌地图中删除标记集群(Ionic4)
- matlab - 如何在 Matlab 中更新 scatter3 图(在循环中)
- python - 按在 linux 上创建的时间对文件名进行排序
- r - 通过组合另一个数据框中的其他两列在数据框中添加一列
- python - 如何使用 Crontab 执行 Python 自定义命令
- java - 如何在android中获取getter setter方法的值?
- ruby-on-rails - RubyZip:找不到存储在活动存储中的文件的路径
- ionic3 - 如何在 ionic 3 应用程序中为输入字段提供自定义自动完成建议列表?
- python - 如果所有列都包含特定模式,则选择 pandas 数据框中的行
- python - 获取 ManyToManyField 的条目