javascript的parseFloat()方法精度问题
2012-09-07 11:29
369 查看
在Javascript中parseFloat()方法会产生精度问题
Js代码
<script language="javascript">
var a = "0.11";
var b = "0.2801";
var c = "1.002";
var sum1 = parseFloat(a) + parseFloat(b) + parseFloat(c);
var sum2 = (parseFloat(a) + parseFloat(b) + parseFloat(c)).toFixed(4)
document.write("a+b+c=" + sum1);
document.write("<br/>")
document.write("a+b+c=" + sum2)
</script>
a,b,c相加本来为1.3921,但sum1得出的结果为:1.3921000000000001,这不是想要的结果,特别在计算金钱的时候,不需要如此精确的精度。可以使用toFixed(n)方法修正后(n是小数后精确的位数)。
例如:parseFloat(1.392143).toFixed(2)=1.39。
Js代码
<script language="javascript">
var a = "0.11";
var b = "0.2801";
var c = "1.002";
var sum1 = parseFloat(a) + parseFloat(b) + parseFloat(c);
var sum2 = (parseFloat(a) + parseFloat(b) + parseFloat(c)).toFixed(4)
document.write("a+b+c=" + sum1);
document.write("<br/>")
document.write("a+b+c=" + sum2)
</script>
a,b,c相加本来为1.3921,但sum1得出的结果为:1.3921000000000001,这不是想要的结果,特别在计算金钱的时候,不需要如此精确的精度。可以使用toFixed(n)方法修正后(n是小数后精确的位数)。
例如:parseFloat(1.392143).toFixed(2)=1.39。
相关文章推荐
- javascript的parseFloat()方法精度问题探讨
- javascript的parseFloat()方法精度问题探讨
- 用JS做计算的时候小数位不正常--Js中parseFloat()方法所产生的精度问题
- 关于JavaScript parseFloat() 函数精度不一致的问题
- Js中parseFloat()方法所产的精度不一致问题
- javaScript中parseFloat()结果精度不一致的问题
- 解决JavaScript数字精度丢失问题的方法
- 关于JavaScript parseFloat() 函数精度不一致的问题
- js中parseFloat()方法所产的精度不一致问题
- Js中parseFloat()方法所产生的精度问题
- Js中parseFloat()方法所产的精度不一致问题
- 关于JavaScript parseFloat() 函数精度不一致的问题
- Js中parseFloat()方法所产生的精度问题
- 问题解决 Java浮点数的精度及解决方法
- JavaScript实现微信红包算法及问题解决方法
- Javascript——arguments的shift问题谈方法“借用”
- JavaScript类型转换方法及需要注意的问题
- 12种Javascript解决常见浏览器兼容问题的方法
- 使用Navicat Premium将Oracle数据库中的表和数据迁移到MySQL数据库中,遇到的Date类型出现精度问题及解决方法