formate number
toFixed()方法采用1 个参数,即精确的小数位数。
let num = 12.345678; // default toFixed() method
console.log(num.toFixed()); // 12
逗号分隔的内置方法
这些格式可以通过使用toLocaleString()方法来实现。
let num = 7323452568.283;
// US system en-US
console.log(num.toLocaleString('en-US')); // 7,323,452,568.283
// India system hi-IN
console.log(num.toLocaleString('hi-IN')); // 7,32,34,52,568.283
逗号分隔的自定义函数
function separateComma(val) { // remove sign if negative var sign = 1; if (val < 0) { sign = -1; val = -val; } // trim the number decimal point if it exists let num = val.toString().includes('.') ? val.toString().split('.')[0] : val.toString(); let len = num.toString().length; let result = ''; let count = 1;for (let i = len - 1; i >= 0; i--) { result = num.toString()[i] + result; if (count % 3 === 0 && count !== 0 && i !== 0) { result = ',' + result; } count++; }
// add number after decimal point if (val.toString().includes('.')) { result = result + '.' + val.toString().split('.')[1]; } // return result with - sign if negative return sign < 0 ? '-' + result : result; }
let num1 = 12345678; console.log(separateComma(num1));
// decimal number let num2 = -723694769.2343; console.log(separateComma(num2));
正则
function commaSeparateNumber(val) { // remove sign if negative var sign = 1; if (val < 0) { sign = -1; val = -val; }// trim the number decimal point if it exists let num = val.toString().includes('.') ? val.toString().split('.')[0] : val.toString();
while (/(\d+)(\d{3})/.test(num.toString())) { // insert comma to 4th last position to the match number num = num.toString().replace(/(\d+)(\d{3})/, '$1' + ',' + '$2'); }
// add number after decimal point if (val.toString().includes('.')) { num = num + '.' + val.toString().split('.')[1]; }
// return result with - sign if negative return sign < 0 ? '-' + num : num; } // decimal number let num1 = 77799; console.log(commaSeparateNumber(num1));
// decimal number let num2 = -72364769.1234; console.log(commaSeparateNumber(num2)); functioncommaSeparateNumber(val){// remove sign if negativevar sign =1;if(val <0){ sign =-1; val =-val;}// trim the number decimal point if it existslet num = val.toString().includes('.')? val.toString().split('.')[0]: val.toString();while(/(\d+)(\d{3})/.test(num.toString())){// insert comma to 4th last position to the match number num = num.toString().replace(/(\d+)(\d{3})/,'$1'+','+'$2');}// add number after decimal pointif(val.toString().includes('.')){ num = num +'.'+ val.toString().split('.')[1];}// return result with - sign if negativereturn sign <0?'-'+ num : num;}// decimal numberlet num1 =77799; console.log(commaSeparateNumber(num1));// decimal numberlet num2 =-72364769.1234; console.log(commaSeparateNumber(num2));