JavaScript权威指南3-二进制浮点数和四舍五入的错误
2016-04-03 00:00
281 查看
JavaScript采用IEEE-754浮点数表示法(几乎所有现代编程语言所采用的),这是一种二进制表示法,可以精确表示分数,比如1/2,1/8,1/1024等.而我们常用的分数都是十进制分数1/10,1/100等.二进制浮点数并不能精确表示类似0.1这样简单的数字.
有以下代码
注意:在需要计算数据的时候,把数据转换成精度更高的做法还是必须的,例如在人民币方面把单位变成分而不是元.
有以下代码
console.log(0.8-0.4);//0.4 console.log(0.8-0.7);//0.10000000000000009 console.log(0.4-0.2);//0.2 console.log(0.6-0.4);//0.19999999999999996 console.log(0.3-0.2);//0.09999999999999998 console.log(0.5-0.4);//0.09999999999999998 console.log(0.2-0.1);//0.1
注意:在需要计算数据的时候,把数据转换成精度更高的做法还是必须的,例如在人民币方面把单位变成分而不是元.
相关文章推荐
- 关于PHP浮点数你应该知道的(All 'bogus' about the float in PHP)
- C#浮点数的表示和基本运算
- C#编程实现四舍五入、向上及下取整的方法
- php实现四舍五入的方法小结
- JavaScript实现基于十进制的四舍五入实例
- Javascript正则控制文本框只能输入整数或浮点数
- javaScript实现浮点数转十六进制字符
- 基于C++浮点数(float、double)类型数据比较与转换的详解
- PHP保留两位小数并且四舍五入及不四舍五入的方法
- js判断输入是否为正整数、浮点数等数字的函数代码
- Javascript四舍五入Math.round()与Math.pow()使用介绍
- java实现浮点数转人民币的小例子
- js浮点数保留两位小数点示例代码(四舍五入)
- js浮点数精确计算(加、减、乘、除)
- PHP之浮点数计算比较以及取整数不准确的解决办法
- Javascript浮点数乘积运算出现多位小数的解决方法
- C#中Decimal类型截取保留N位小数并且不进行四舍五入操作
- PHP四舍五入、取整、round函数使用示例
- Shell脚本处理浮点数的运算和比较实例
- shell中浮点数运算