例子: var num=parseFloat("234432.9")-parseFloat"0.2"); alert(num); 结果是: 234432.69999999998
很明显,这个结果不是我们想要的那个结果。
解决方法:
第一种:四舍五入
Math.round(parseFloat("234432.9")-parseFloat"0.2"));
第二种:保留几位小数
num.toFixed(2); toFixed(n)中的n代表保留几位
第三种:扩大一定的倍数,对结果在缩小这个倍数
var num1=parseFloat("234432.9")*1000000000000;
var num2=parseFloat("0.2")*1000000000000;
var num3=(num1-num2)/1000000000000;
结果为 234432.7
前两种做法 不太推荐,毫无疑问,前两种做法都会降低精度值!所以推荐第三种。