js 中Math.round()精度问题?急
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 中Math.round()精度问题?急相关的知识,希望对你有一定的参考价值。
在下面的代码中,如果输入7位(0.0000007)及7位以上的(0.00000008)小数(即小数最后一位不是0其它位数都是0)时,返回的值就会变成科学计数法,请教这是个什么问题?该怎么解决 ?谢谢! <script type="text/javascript"> function _round() var v =document.getElementById("testValue").value ; var splitStr = v.split("."); var xs = splitStr[1]; var e = -1 ; if(e == -1) if(xs!=null) e = xs.length; else e = 0; var t = 1; for (; e > 0; t *= 10, e--); for (; e < 0; t /= 10, e++); var finalValue = Math.round(v * t) / t ; alert(finalValue) ; ; </script> </head> <body> <input type="text" id="testValue" value=""> <input type="button" value="测试" onClick="_round()"> </body>
参考技术A 不是BUG,最简单的alert(0.56*100);。JavaScript小数在做四则运算时,精度会丢失。具体可参考IEEE
754的浮点计数法
以上是关于js 中Math.round()精度问题?急的主要内容,如果未能解决你的问题,请参考以下文章