zoukankan      html  css  js  c++  java
  • vue 全局实现数字千分位格式

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

    这个是啥意思呢 ? 就是我们在页面上需要渲染数据的时候,比如 88888,我们需要按照千分位显示成方便阅读的格式88,888

    这个时候我的做法是vue写一个过滤器,将所有的数据都用这个过滤器过滤一下。

    因为涉及的数据相对比较多,我就将这个过滤器挂载到了全局,这样就不用再每个页面引用了。

    转换代码实现

    首先创建一个文件 numberToCurrency.js ,实现数字千分位转换功能。

    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)
    

    这样子就可以了,然后在具体需要转换的地方使用一下就OK了。

    使用

    使用的话就是普通过滤器的使用方法。

    <p class="num color1">{{riskAll| numberToCurrency}}</p>
    

    在这里插入图片描述

    ok,结束。

    【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处!
    【重要说明】本文为本菜鸟的学习记录,论点和观点仅代表个人不代表此技术的真理,目的是学习和可能成为向别人分享的经验,因此有错误会虚心接受改正,但不代表此时博文无误!
    【博客园地址】JayveeWong: http://www.cnblogs.com/wjw1014
    【CSDN地址】JayveeWong: https://blog.csdn.net/weixin_42776111
    【Gitee地址】Jayvee:https://gitee.com/wjw1014
    【GitHub地址】Jayvee:https://github.com/wjw1014
  • 相关阅读:
    Leetcode 50.Pow(x,n) By Python
    Leetcode 347.前K个高频元素 By Python
    Leetcode 414.Fizz Buzz By Python
    Leetcode 237.删除链表中的节点 By Python
    Leetcode 20.有效的括号 By Python
    Leetcode 70.爬楼梯 By Python
    Leetcode 190.颠倒二进制位 By Python
    团体程序设计天梯赛 L1-034. 点赞
    Wannafly挑战赛9 C-列一列
    TZOJ Start
  • 原文地址:https://www.cnblogs.com/wjw1014/p/15378417.html
Copyright © 2011-2022 走看看