Vue3_全局应用千位分隔符

应用场景:基于 vue3 + ts + Element-plus

应用需求:① 处理千分位并保留两位小数(要求保留两位小数)

                  ② 将整数位处理成千分位,小数位保留不变(保留多位小数)

 一、全局应用文件

将 numberFormatMixin.ts 文件,放入合适位置,并在 main.ts 中注册

(numberFormatMixin.ts)

import { App } from 'vue'

// 使用正则表达式添加千分号
function addCommas(value: number): string {
  // ①如下方法:处理千分位并保留两位小数
  // return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')
  // ②如下方法:将整数位处理成千分位,小数位不变
  const parts = String(value).split('.')
  parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
  return parts.join('.')
}

// 定义全局 mixin
const numberFormatMixin = {
  methods: {
    // 添加千分号
    formatNumber(value: number): string {
      return addCommas(value)
    }
  }
}

// 定义插件
const NumberFormatPlugin = {
  install(app: App) {
    app.mixin(numberFormatMixin)
  }
}

export default NumberFormatPlugin

(main.ts) 

import NumberFormatPlugin from './numberFormatMixin'

// 创建实例
const setupAll = async () => {
  app.use(NumberFormatPlugin)
  app.mount('#app')
}

setupAll()

 二、应用

1、利用全局文件应用

formatNumber(value)

(value 设置为需要使用千分位的数据)

    <template #header>
      <div class="card-header">
        <span>总览</span>
        <div class="total">
          // 如下,total 是需要转化千分位的数据
          异常统计 <span>{{ formatNumber(total) }}</span>
        </div>
      </div>
    </template>

2、单个应用,只需将如下代码中的 value 设置为需要使用千分位的数据即可

  // ①如下方法:处理千分位并保留两位小数
  return value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')

  // ②如下方法:将整数位处理成千分位,小数位不变
  const parts = String(value).split('.')
  parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',')
  return parts.join('.')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值