- 使用JavaScript 實現(xiàn) paddingNum 方法
- 分隔數(shù)字研儒,每隔三位使用逗號分隔一次
- return() 返回分隔后的字符串
@example
- paddingNum(123) //return 123
- paddingNum(12345) return 123,45
- paddingNum(123456) return 123,456
方法一:用toLocaleString()方法
function paddingNum(number){
return number.toLocaleString()
}
console.log(paddingNum(123456))
console.log(paddingNum(12345))
console.log(paddingNum(123))
tolocaleString()不僅可以根據(jù)本地時間把 Date 對象轉換為字符串帝簇,還可以將數(shù)字轉化為千分位格式
方法二:利用正則
function paddingNum(num) {
let [integer, point] = num.toString().split(".")
let res
let reg = /(\d{3})(?=\d)/g
let newStr = integer.split("").reverse().join("").replace(reg, (match, $1) => {
return match + ","
})
newStr = newStr.split("").reverse().join("")
point ? res = newStr + "." + point : res = newStr
return res
}
console.log(paddingNum(123456))
console.log(paddingNum(12345))
console.log(paddingNum(123))
方法三 split切割
function paddingNum(num) {
let flag = num > 0 ? true : false;
const numArr = Math.abs(num).toString().split('.');
let right = numArr[1] === undefined ? '' : '.' + numArr[1];
let leftArr = numArr[0].split('');
let res = [];
for (let i = leftArr.length - 1, count = 0; i >= 0; i--, count++) {
if (count % 3 === 0 && i != leftArr.length - 1) res.unshift(',');
res.unshift(leftArr[i]);
}
return flag ? res.join('') + right : '-' + res.join('') + right;
}
console.log(paddingNum(123456))
console.log(paddingNum(12345))
console.log(paddingNum(123))