根据后台返回数据类型做处理,添加千分符,税率和小数点后保留2-8位小数
function numberFormat (money, format , noPoint) {
if (!money) {
return “”;
}
if(!format){
return money;
}
if (format === “rate”) {
money = money*100
}
let parts = money.toString().split(’.’)
let main = parts[0]
let tail = parts[1]
main = main.replace(/\B(?=(\d{3})+(?!\d))/g, ‘,’)
//小数点后自动补足两个0
if (!tail) {
tail = ‘00’
} else if (tail.length === 1) {
tail += ‘0’
}
//返回数据保留小数,2-8位
if(tail.length > 8){
tail = tail.slice(0, 8);
}
switch (format) {
case “n2”:
tail = tail.slice(0, 2);
break;
case “n3”:
tail = tail.slice(0, 3);
break
case “n4”:
tail = tail.slice(0, 4);
break
case “n5”:
tail = tail.slice(0, 5);
break
case “n6”:
tail = tail.slice(0, 6);
break
case “n7”:
tail = tail.slice(0, 7);
break
case “n8”:
tail = tail.slice(0, 8);
break
default:
}
if (noPoint) {
return money.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ‘,’)
}
else if(format === “rate”){
return ${main}.${tail}%
}
else{
if(!tail){
return ${main}
}else{
return ${main}.${tail}
}
}