alert(498.46 - 0.1);
我费解的一米啊!!
为啥得到的答案是498.35999999999996~
求高手解答。

解决方案 »

  1.   

    本来js就会有这个精度问题,加上。toFixed(2)就好了,java好像也是有类似的问题吧
      

  2.   

    js的浮点数运算会返回最精确的数据 也就是楼主看到的结果 
    我们通常的解决办法有这么几种 
    1、将数据*100(乘以多少看你的数据)转换成整数 运算完后再除以这个数 
    2、toFixed(2)来保留固定位数
      

  3.   

    定一个精度即可:
    alert(Math.round((498.46 - 0.1)*100)/100);
      

  4.   

    java中得双精度数计算的时候也会出现这种情况
    js出现这种情况一般都是用toFixed()来解决吧,这个比较方便~