大家好,又见面了,我是全栈君
原因:js按照2进制来处理小数的加减乘除,在arg1的基础上 将arg2的精度进行扩展或逆扩展匹配,所以会出现如下情况.
javascript(js)的小数点加减乘除问题,...是一个js的bug如0.3*1 = 0.2999999999等,下面列出可以完美求出相应精度的四种js算法
function accDiv(arg1,arg2){
var t1=0,t2=0,...length}catch(e){}
try{t2=arg2.toString().split(".")[1].length}catch(e){}
with(Math){
r1=Number...(arg1.toString().replace(".",""))
r2=Number(arg2.toString().replace(".",""))
return accMul((r1...(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
}
//加法
function accAdd(arg1