自己在开发过程中,前端需要对一些表示金额的数值进行处理,每隔三位数字,用逗号分隔开。记录一下自己的做法。

(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)使用过滤器

在这里插入图片描述

Logo

前往低代码交流专区

更多推荐