精度失落问题存在于浮点数转化为ieee754规范的二进制数的过程中
number类型
js中的number类型采纳双精度浮点型,基于ieee754规范
进制示意
- 二进制:0b或0B
- 八进制:es5严格模式禁止应用,es6应用0o为前缀示意(0o777)
- 十六进制:0X或0x
- 十进制
进制转换
parseInt,toString
解决方案
- 应用toFixed限度精度
(0.1+0.2).toFixed(5)toFixed四舍五入存在精度问题,// 实际上,round,ceil,floor都存在该问题2.335.toFixed(2) // 2.33解决方案:Math.