由于js的float类型便面 不像java那样足够 精确,所以做减法时会出现超多的小数,如何解决,我有如下方法
做法一:四舍五入的做法 (此方法不理想) Math.round(234432.9- 0.2); 做法二:保留几位小数 var t1 = 234432.9- 0.2;
var t2 = t1.toFixed(2); //JS函数
做法三:扩大一定的倍数,对结果在缩小这个倍数
前两种做法 都会是我们的精度在降低,还有一种方法就是,如果你可以确定你的数字最多有多少位小数,你就给它扩大多少倍,按照整数的减法来做,对结果进行 刚才扩大的倍数的同等缩小
var temp = Number('0.2223123')*1000000000000;
var temp2 = Number('234432.912113213123')*1000000000000; var temp3 = (temp2-temp)/1000000000000;
做法四:自己书写函数(使用时,只需调用该函数即可。)
//舍去2位小数以后
function toDecimal2(x) {
return (Math.floor(x.movePointRight(2))/100); }
因篇幅问题不能全部显示,请点此查看更多更全内容