输出格式 000,000,000.00
// opt 数值,isZero 是否保留两位小数点
numSymbol (opt, isZero = true) {
if (opt) {
const str = opt + '' // 把数字变成string类型
if (str.indexOf('.') !== -1) { // 判断是否附带小数
const intSum = str
.substring(0, str.indexOf('.'))
.replace(/\B(?=(?:\d{3})+$)/g, ',') // 取到整数部分
let dot = str.substring(str.length, str.indexOf('.')) // 取到小数部分搜索
// 不足2位补0
if (dot.length === 1) {
dot = dot + '00'
} else if (dot.length === 2) {
dot = dot + '0'
}
const ret = intSum + dot
return ret
} else {
const ret = str.replace(/\B(?=(?:\d{3})+$)/g, ',')
return ret + (isZero ? '.00' : '')
}
} else {
return (isZero ? '0.00' : '0')
}
}

该博客介绍了一个名为numSymbol的函数,用于将数字格式化为指定样式。函数考虑了是否保留两位小数点的情况,通过字符串操作对整数部分进行千位分隔,并确保小数部分达到两位。对于非数字输入,函数会返回默认的零值格式。
601

被折叠的 条评论
为什么被折叠?



