自己在开发过程中,前端需要对一些表示金额的数值进行处理,每隔三位数字,用逗号分隔开。记录一下自己的做法。
(1) 自定义格式化方法。
源代码如下:
/* 数字金额逢三加, 比如 123,464.23 */export function numberToCurrency(value) {if (!value) return '0.00'// 将数值截取,保留两位小数value = value.toFixed(2)// 获取整数部分const intPart = Math.trunc(value)// 整数部分处理,增加,const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')// 预定义小数部分let floatPart = '.00'// 将数值截取为小数部分和整数部分const valueArray = value.toString().split('.')if (valueArray.length === 2) {// 有小数部分floatPart = valueArray[1].toString() // 取得小数部分return intPartFormat + '.' + floatPart}return intPartFormat + floatPart}
(2) 引入格式化方法,并且定义过滤器
(3)使用过滤器