解决JS浮点数(小数)计算加减乘除的BUG

	//浮点数减法运算
		function FloatSub(arg1,arg2){
		    var r1,r2,m,n;
		    try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
		    try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
		    m=Math.pow(10,Math.max(r1,r2));
		    //动态控制精度长度
		    n=(r1=r2)?r1:r2;
		    return ((arg1*m-arg2*m)/m).toFixed(n);
		}

发现10.12-1=9,这就根本不是我想要的就结果!!!

https://github.com/fzred/calculatorjs

百度搜了一款封装好的js,直接使用

calc.add(0.1, 0.2) // 0.3
calc.sub(0.1, 0.2) // -0.1
calc.mul(0.1, 0.2) // 0.02
calc.div(0.1, 0.2) // 0.5
calc.round(0.555, 2) // 0.56

猜你喜欢

转载自my.oschina.net/u/3568600/blog/1822114