vue 全局实现数字千位分隔符格式

封装utils工具:
export function numberToCurrencyNo(value) {
  if (!value) return 0
  // 获取整数部分
  const intPart = Math.trunc(value)
  // 整数部分处理,增加,
  const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
  // 预定义小数部分
  let floatPart = ''
  // 将数值截取为小数部分和整数部分
  const valueArray = value.toString().split('.')
  if (valueArray.length === 2) { // 有小数部分
    floatPart = valueArray[1].toString() // 取得小数部分
    return intPartFormat + '.' + floatPart
  }
  return intPartFormat + floatPart
}

挂载main.js:
import { numberToCurrencyNo } from '@/utils/numberToCurrency'
Vue.filter('numberToCurrency', numberToCurrencyNo)

使用:

{{riskAll| numberToCurrency}}

8888 变 8,888 '8888'.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')

你可能感兴趣的:(vue.js,javascript,前端)