function MathFloatNumber(val1,val2,type){ //val1:浮點數1 val2:浮點數2 type:運算類型(+,-,*,/,=)
let intnumber1=String(val1).split('.')[1].length //浮點數轉string並獲取小數點后面位數
let intnumber2=String(val2).split('.')[1].length //浮點數轉string並獲取小數點后面位數
let biglength=Math.pow(10,(intnumber1>intnumber2?intnumber1:intnumber2)) //得到小數點位數多的數,計算浮點數轉為整數的位數 (10的位數次方)
let bigval1=val1*biglength //得到放大倍數的浮點數1
console.log(biglength)
let bigval2=val2*biglength //得到放大倍數的浮點數2
switch(type){
case 1: //加法
return (bigval1+bigval2)/biglength /
break
case 2: //減法
return (bigval1-bigval2)/biglength
break
case 3: //乘法
return (bigval1*bigval2)/(biglength*biglength)
break
case 4: //除法
return (bigval1/bigval2).toFixed(3)
break
case 5:
return bigval1===bigval2
break
default:
console.log('類型錯誤')
}
}
// var a=MathFloatNumber(0.1,0.05,2)
// console.log(a)
console.log(MathFloatNumber(MathFloatNumber(0.1,0.2,1),0.3,5)) // 判斷(0.1+0.2==0.3)等於true