+ -
当前位置:首页 → 问答吧 → 请证一下JS算法

请证一下JS算法

时间:2010-05-18

来源:互联网

<script>
document.write (65.40-13.08);

</script>


得到的结果却是:52.32000000000001

为什么不是:52.32 呢?

请教高手

作者: fy0000   发布时间: 2010-05-18

求解!

作者: fy0000   发布时间: 2010-05-18

在js中,带小数的数据相加或相乘时总会出现好多位小数。例如100.11+100.02=200.130000001类似的情况。这是因为在js中浮点数的计算是以2进制算的,解决方法一般是将小数化成整数后再作除法。如上例中:(100.01*100+100.02*100)/100.00 。

[ 本帖最后由 fy0000 于 2010-5-18 15:03 编辑 ]

作者: fy0000   发布时间: 2010-05-18