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,結束。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM