《Effective JavaScript》- 1.2 理解JavaScript的浮点数
2015-09-23 13:28
609 查看
JavaScript中的所有数字都是双精度浮点数,精度为53位整数。
这意味着即使是双精度,也只能表示一组有限的数字,而不能表示所有的实数集合,它只能够产生近似的结果,四舍五入到最接近的可表示的实数。随着舍入误差的积累,运算结果会越来越不精确。
对于任意实数x, y, z,总满足(x + y) + z = x + (y + z)。
然而对于浮点数来说,却不是这样,结果如下:
(0.1 + 0.2) + 0.3; // 0.6000000000000001
0.1 + (0.2 + 0.3); // 0.6
一个有效的解决方法是尽可能地采用整数值运算,因为整数表示时不需要舍入,然后按比例进行转换。
(10 + 20) + 30; // 60
10 + (20 + 30); // 60
当心浮点运算的精度陷阱。
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- IE8开发人员工具教程(二)
- 选定虚拟主机 性能凸显优势
- 修改一行代码提升 Postgres 性能 100 倍
- 在flex中执行一个javascript方法的简单方式
- Flex结合JavaScript读取本地路径的方法
- PowerShell中执行Javascript的方法示例
- 推荐Sql server一些常见性能问题的解决方法