const floatingPointProcessing = (floatOne,floatTwo,calculation,numberOfDigits=2) => {
var finalResults = 0
// 得到第一个数据的小数点位置
var floatOneLength = String(floatOne).length- (String(floatOne).indexOf('.') + 1)
var floatTwoLength = String(floatTwo).length- (String(floatTwo).indexOf('.') + 1)
// 判断两个数据那个小数点位数多
var bigNumber = null
if(floatOneLength>floatTwoLength){
bigNumber = floatOneLength
}else{
bigNumber = floatTwoLength
}
// 计算倍数
var multiple = 1
for(var i = 1;i<bigNumber;i++){
multiple = multiple*10
}
// 计算最终结果
if(calculation === '+'){
finalResults = (Number(floatOne)*multiple + Number(floatTwo)*multiple)/multiple
}else if(calculation === '-'){
finalResults = (Number(floatOne)*multiple - Number(floatTwo)*multiple)/multiple
}else if(calculation === '*'){
finalResults = (Number(floatOne)*multiple * Number(floatTwo)*multiple)/multiple
}else if(calculation === '/'){
finalResults = (Number(floatOne)*multiple / Number(floatTwo)*multiple)/multiple
}else{
finalResults = 0
}
finalResults = finalResults.toFixed(Number(numberOfDigits))
return finalResults
}
console.log(typeof floatingPointProcessing(100.111111,0.9,'-',5))
console.log(floatingPointProcessing(10.111111,12.123456789,'-',3))
console