需求:
①最多有两位小数的数字
②转成3个数字一间隔的字符串的格式,用逗号隔开
例:12345 => 12,345.00
使用正则转换
输入 233333,输出 233,333.00

- 代码
formatterAmount(value){
if (value &&/^-?\d+\.?\d{0,2}$/.test(Number(value))){
return Number(value).toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g,',')
}else {
return value
}
}
使用js转换
32(万)=>320,000.00

- 代码
function toThousands(e) {
let num = (e || 0).toString()
if ( num.indexOf('.') != -1){
//带小数
const arr = num.split(".");
let integer = arr[0]
let decimal = arr[1]
if (decimal.length > 2){
decimal = decimal.substr(0,2)
}
if (decimal.length == 1){ decimal = decimal + '000'}
if (decimal.length == 2){decimal = decimal + '00'}
if (integer) { num = integer + decimal }
let result =''
while (num.length > 3){
result =','+ num.slice(-3) + result
num = num.slice(0,num.length - 3)
}
if ( num) { result = num + result + '.00'}
return result
}else {
//不带小数
let result = ''
num = num + '0000'
while (num.length > 3) {
result = ','+ num.slice(-3) + result
num = num.slice(0,num.length - 3)
}
if (num) { result = num + result + '.00' }
return result
}
}
本文介绍如何使用正则表达式和JavaScript函数将数字转换为3个数字间用逗号分隔且保留两位小数的格式,如233333转为233,333.00。涉及的代码示例包括验证数字格式和处理整数与带小数的情况。
1353

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



