45fan.com - 路饭网

搜索: 您的位置主页 > 电脑频道 > 编程代码 > 阅读资讯:怎么样处理JavaScript不支持精确的浮点数运算的问题?

怎么样处理JavaScript不支持精确的浮点数运算的问题?

2016-08-25 22:34:47 来源:www.45fan.com 【

怎么样处理JavaScript不支持精确的浮点数运算的问题?

JavaScript不支持精确的浮点数运算的解决方案
问:
请看以下代码:(JavaScript,IE6.0)
var i = 5.1; //6.1,7.1也可
var j = 0.1;
var s = i + j;

经以上运算,S 的值为5.19999999999999;而不是5.2;
但若 i 取值为8.1,则 S 的值正常,为8.2;我另取了一些不同的浮点数进行相加,
最终结果有的正常,有的则不正常。看不出有什么规律性。
请问这究竟是JavaScript不支持精确的浮点数运算,还是进行浮点数运算需做什么特殊措施?
请各位知因者不吝指教。多谢!
EMAIL:cms2037@yahoo.com.cn
______________________________________________________________________________________________
答1:
你必须先转换成整数再进运算
______________________________________________________________________________________________
答2:
<script>
alert(qswhAdd(5.1,0.1))
function qswhAdd(n1,n2){
var r1,r2,m;
try{r1=n1.toString().split(".")[1].length}catch(e){r1=0}
try{r2=n2.toString().split(".")[1].length}catch(e){r2=0}
m=Math.pow(10,Math.max(r1,r2))
return (n1*m+n2*m)/m
}
</script>
===============================================================================


怎么样处理JavaScript不支持精确的浮点数运算的问题?2005年3月23日

本文地址:http://www.45fan.com/bcdm/67626.html
Tags: JavaScript 精确 点数
编辑:路饭网
推广内容
推荐阅读
热门推荐
推荐文章
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部