一、小数保留2位小数
minNumTwo(num){
let str = 0
let minNum = ''
if( (num+'').indexOf('.') != -1 ){
let numSplit = (num+'').split('.')
if(numSplit[1].length >= 2){
minNum = numSplit[1].substr(0,2)
}else{
minNum = numSplit[1]
}
str = parseFloat(numSplit[0]+'.'+ minNum).toFixed(2)
}else{
str = num.toFixed(2)
}
return str
}
二、小数四舍五入,保留2位小数
roundingOff(numData){
let num = Math.round( numData*100 ) / 100
if(num != 0){
num = num.toFixed(2)
}
return num
}
三、小数计算加减乘除
amend(num1,num2,symbol){
var str1=num1.toString(),str2=num2.toString(),result,str1Length,str2Length
try {str1Length= str1.split('.')[1].length} catch (error) {str1Length=0}
try {str2Length= str2.split('.')[1].length} catch (error) {str2Length=0}
var step=Math.pow(100,Math.max(str1Length,str2Length))
switch (symbol) {
case "+":
result= (num1*step+num2*step)/step
break;
case "-":
result= (num1*step-num2*step)/step
break;
case "*":
result= ((num1*step)*(num2*step)) / step/step
break;
case "/":
result= (num1*step)/(num2*step)
break;
default:
break;
}
return result
},
四、小数比较大小
findMinMaxAfterRemovingMax(arr) {
let max = Math.max(...arr);
let remainingArr = arr.filter(num => num+'' !== max.toFixed(2)+'');
let remainingMin = Math.min(...remainingArr);
let remainingMax = Math.max(...remainingArr);
return [ remainingMin, remainingMax ]
}
Math的一些方法(部分)
Math.abs(-10);
Math.round(4.6));
Math.round(123.456789 * 100) / 100;
123.456789.toFixed(2);
Math.min(1, 2, 3, 4, 5);
Math.max(1, 2, 3, 4, 5);