乐趣区

关于javascript:js浮点数运算精度丢失问题

精度失落问题存在于浮点数转化为 ieee754 规范的二进制数的过程中

number 类型

js 中的 number 类型采纳双精度浮点型,基于 ieee754 规范

进制示意

  • 二进制:0b 或 0B
  • 八进制:es5 严格模式禁止应用,es6 应用 0o 为前缀示意(0o777)
  • 十六进制:0X 或 0x
  • 十进制

进制转换

parseInt,toString

解决方案

  1. 应用 toFixed 限度精度
(0.1+0.2).toFixed(5)
toFixed 四舍五入存在精度问题,//  实际上,round,ceil,floor 都存在该问题
2.335.toFixed(2)  // 2.33

解决方案:Math.

退出移动版