博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js浮点数运算需要注意的问题
阅读量:5994 次
发布时间:2019-06-20

本文共 495 字,大约阅读时间需要 1 分钟。

hot3.png

最近在js运算浮点数时发现了一个问题。问题是这样的:js函数中处理两个浮点数的相加,为了防止出现0.1+0.2=0.30000000000000004的问题,两个数都先乘以10000后再相加,得到结果后再除以10000.代码逻辑大概如下:

1 var num1 = 95.40;2 var num2 = 279.84;3 var amtSum = 0*1;4 5 amtSum = amtSum + num1 *10000;6 amtSum = amtSum + num2 *10000;7 var tmp = (amtSum /10000)//结果是375.23999999999995

在这里并没有得到想要的375.24.

经过一番搜索后,发现是在第6行相加的时候出现了舍入误差。处理方法虽然有一些,但是并不是很好,例如将计算结果toFixed(n),n为需要的精度。但是toFixed()返回的是字符串。

推荐还是找个专门的js库来处理这个问题。

http://mathjs.org/

转载于:https://my.oschina.net/yulei1943/blog/1490719

你可能感兴趣的文章
图解TCP/IP第一章
查看>>
linux sort命令
查看>>
android - UI设计之shape和selector的结合使用
查看>>
创建文本编辑输入框1:
查看>>
获取每个月最后一天的小技巧
查看>>
centos7 最小化安装 无 ifconfig,netstat 的安装
查看>>
CreateFileMapping实现的共享内存及用法
查看>>
Java的接口和抽象类
查看>>
CSS clip:rect矩形剪裁功能及一些应用介绍
查看>>
什么是大数据技术架构
查看>>
将windows系统新建的文本文档默认编码为UTF-8
查看>>
Linux 中如何卸载已安装的软件
查看>>
HTTP状态码
查看>>
strcpy和memcpy的区别
查看>>
A*算法
查看>>
内链会给搜索引擎合理的抓取网站内容
查看>>
gcc与g++的区别
查看>>
获取元素的宽度和高度
查看>>
169美女图片
查看>>
梯度下降优化算法综述(转载)
查看>>