需求:传入一个数n,输出一个字符串s
要求:
- n>=1e4 以万做单位,亿, 万亿同理
- 保留两位小数
举例:
n = 11100;
则: 输出s等于1.11万
我的写法:
function ConvertNum () {
let _tmpArg = [10000 * 10000 * 10000, 10000 * 10000, 10000];
let moneyUnits = ["万亿", "亿", "万"];
//转换数字
let str_curNum = num.toString();
for (let i = 0, l = _tmpArg.length; i < l; i++) {
let _tmp = _tmpArg[i];
if (num >= _tmp) {
let ss_ = Math.floor(num / _tmp); //整数部分
let ss = Math.floor(num % _tmp / (_tmp / 100));
if (ss == 0) {
str_curNum = ss_ + moneyUnits[i];
} else {
str_curNum = ss_ + '.' + Utils.getNumStr(ss) + moneyUnits[i];
}
break;
}
}
return str_curNum;
}
各位大佬,求最优解