javascript之小数运算
来源:互联网 发布:卡梅伦与猪 知乎 编辑:程序博客网 时间:2024/05/01 18:12
前几天做了几个关于管井的统计页面,项目要求,如果是月,按米计算,如果是季度或是年则按照公里计算,中间出现了如下错误。
如上图,希望得到的结果是1.146 然而这个 0.000.......1来自哪里呢??
第一反应是小数计算bug,但是时间紧来不及细细研究于是先相加后除以1000 暂时解决了问题。
问题是得到了解决,但是为什么会出现这种bug呢?
js 不能正确处理小数运算,包括其它高级编程语言一样,这不是语言本身的设计错误,而是计算机内部本身就不能正确处理小数的运算,对小数的运算往往会得到意想不到的结果,因为并不是所有的十进制小数能被二进制表示。
程序中的数据都会被转换成二进制数,小数参与运算时,也会被转成二进制,如十进制的11.1875 会被转换成1101.0010。
小数点后 4 位用二进制数表示的数值范围是 0.0000~0.1111,因此,这只能表示 0.5、0.25、0.125、0.0625 这四个十进制数以及小数点后面的位权组合(相加)而成的小数:
这样1.112+0.034=1.146000000.。。。1得到这个结果应该也不稀奇了。
0 0
- javascript之小数运算
- 【白书之路】 分数化小数 高精度小数运算
- 黑马程序员-------小数运算之BigDecimal
- java 与 javaScript 除法及保留有效小数的运算
- JavaScript对浮点小数运算结果不精确bug的解决办法
- JavaScript 四则运算(加减乘除小数运算)避免损失精度
- JavaScript 四则运算(加减乘除小数运算)避免损失精度
- JavaScript之运算符
- JavaScript之运算符
- JavaScript之运算符
- JavaScript之运算符
- Linux学习4之shell脚本中的小数运算
- DSP 定点小数运算
- POJ1001高精度小数运算
- js 小数运算问题
- JS 精确小数运算
- JS小数加减乘除运算
- 定点小数的运算
- ANN_MLP神经网络使用流程详述
- Android OTA升级原理和流程分析(五)---update.zip包从上层进入Recovery服务
- FragmentTransaction&Activity的状态
- struts2 登录拦截,以及涉及到的session的方法
- yii2框架--yii2的主题化设计(十九)
- javascript之小数运算
- Leetcode63. Unique Paths II
- intellij idea 无法编辑src/main/java下的mapper.xml文件的解决办法
- 华为OJ 初级:字串的连接最长路径查找
- 动态URL权限控制
- 安卓studio找不到Location Sdk的解决办法
- 顺时针打印矩阵
- 海龟(turtle)与陆龟(tortoise)
- C#编写数据分析软件(附源码)