在JS中,小数的格式化需要使用.toFixed(),但是这个方法要输入小数位数,对于不定长的小数来说是不方便的,所以分享一个小数的格式化方法。
public static getFloatString (strNum: number): string {
let str = String(strNum);
if (str.indexOf("e") !== -1) {
let strArr = str.split("e");
let factor = strArr[0].split(".");
let powNum = parseInt(strArr[1]);
if (powNum < 0) {
return "0" + "." + "0".repeat(-powNum - factor[0].length) + factor[0] + (factor.length === 2 ? factor[1] : "");
} else {
if (factor.length === 2) {
let dotNum = powNum - factor[1].length;
if (dotNum < 0) {
let sli = factor[1].slice(0, -dotNum);
return factor[0] + sli[0] + "." + sli[1];
} else {
return factor[0] + factor[1] + "0".repeat(dotNum - factor[0].length);
}
} else {
return factor[0] + "0".repeat(powNum - factor[0].length);
}
}
} else {
return str;
}
}
可以直接放到Util类中备用。