工作中,有时候会遇到需要对数值进行转换的情况,例如,数值太大,导致展示不便,需要转换成 xx万,xxx亿 之类的。
function cutNum(num,s,step,unit){
s = s || 0;
step = step || 10000;
if(Math.abs(num) >= step){
return cutNum(num/step,s+1,step,unit);
}
let relUnit = unit || ['元','万','亿','万亿','兆','京','垓','杼'];
return num.toFixed(2)+relUnit[s];
}
输入 cutNum(10000) => 1.00万
第一个参数是需要转换的数值
第二个参数是起始单位,默认为0,有可能后台返回的是万的单位,但是还是过长,需要转换的情况,这时候第二个参数应填入1 cutNum(10000,1) => 1.00亿
第三个参数是指单位进制,默认为 10000 cutNum(100,0,10) =>1.00亿
第四个参数是单位列表如 个十百千万 cutNum(1000,0,10, [‘个’,‘十’,‘百’,‘千’,‘万’]) => 1.00千