最近在用js的时候出现这样的问题:
var a=”6073″;
var b = parseInt(a);
b*0.01 //60.730000000000004
b/100 //60.73
为什么乘以0.01和除以100,得到的结果是不一样的呢,这里用”6073″会出现这样的问题,其他数值好像没有这样的问题,但是一定满足某个条件,出现这样的情况。
希望能找到原因,解决之。
查找中……
如果您知道,请您提点下我
最近在用js的时候出现这样的问题:
var a=”6073″;
var b = parseInt(a);
b*0.01 //60.730000000000004
b/100 //60.73
为什么乘以0.01和除以100,得到的结果是不一样的呢,这里用”6073″会出现这样的问题,其他数值好像没有这样的问题,但是一定满足某个条件,出现这样的情况。
希望能找到原因,解决之。
查找中……
如果您知道,请您提点下我
这是javascript 的浮点数精度问题。解决办法: parseFloat((b*0.01).toFixed(2))
如果有兴趣见详细的为什么:
http://bytes.com/topic/javascript/answers/518574-javascript-floating-point-precision-problem#post2022038