javascript小数乘法精确率问题
来源:互联网 发布:连云港网络 编辑:程序博客网 时间:2024/05/01 13:41
做前端页面开发的经常会遇到数值的乘法计算,带小数位计算会出现值溢出的问题,如:
100
JS里做小数的乘法运算时会出现浮点错误,具体可以测试一下: <script>alert(11*22.9)</script>
结果是251.89999999999998 而不是251.9 这个问题想必有很多人为之头痛。那么如何解决呢?
网上那些经常转载来,转载去的解决方式,其实都存在弊端,先看看网上那种弊端的解决方式吧。
1、<script>alert(11*(22.9*10)/10);</script> 解决问题的大概思路就是,先把因数放大为整数,最后再除以相应的倍数,这样就能得到正确的结果了。
其实这种方式不完全正确,虽说可以解决一部分小数的乘法问题,但是还是有特例的,比如按照这种解决思路的话,小数点后面有几位小数必须扩大10的多少次方倍,如果这个值是个动态的,岂不是显得很繁琐。
下面给出万能解决方式。
<script> alert(parseFloat(10000.005*10000).toFixed(2));
//结果是10000005.00
</script>
此处借助toFixed()方法来四舍五入保留小数位。
只要乘数足够大,皆能解决!
0 0
- javascript小数乘法精确率问题
- javascript小数乘法精确率问题
- javascript小数乘法溢出、精确率问题 toFixed(2)完美解决
- js精确小数乘法(解决精度问题)
- (小数)javascript(js)的小数点乘法除法问题
- Java 小数精确计算问题
- JavaScript js 精确、保留小数方法
- JavaScript js 精确、保留小数方法
- Javascript小数加法得到精确值
- javascript 小数加减乘除 精度问题
- 小数精确相乘
- 小数的精确表达
- JS 精确小数运算
- Java精确计算小数
- js小数精确计算
- 小数精确计算
- java小数精确计算
- javascript做浮点数运算精确问题
- 微信公众平台服务号开发者模式自定义菜单快速生成技巧
- 监控微信红包消息(android)
- 特殊字符^C(ETX)、^B(STX)
- Transferring Data Without Draining the Battery -
- 辛星浅析时序图与协作图、用例图
- javascript小数乘法精确率问题
- vc工程下的文件后缀解析
- SurfaceView、SurfaceHolder及SurfaceHolder.Callback
- poj解题报告——2014
- 多线程超时限制执行辅助类
- AFNetworking2.0 输出服务器返回的原始数据
- pandas+xlrd操作excel批量读写全体sheet
- ./configure,make,make install的作用
- Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的关系