我們?cè)陧?yè)面上需要渲染數(shù)據(jù)的時(shí)候,例如:99999;需要按照千分位顯示成方便閱讀的格式99,999。
個(gè)人覺(jué)得最好的辦法就是寫(xiě)一個(gè)過(guò)濾器,將所有的數(shù)據(jù)都用這個(gè)過(guò)濾器過(guò)濾一下。
因?yàn)樯婕暗臄?shù)據(jù)比較多,我就將這個(gè)過(guò)濾器掛載到了全局,也可以在單獨(dú)頁(yè)面引入使用
1.main.js 全局方法
// 在 main.js 文件中直接寫(xiě)方法
Vue.filter('unitConverter', (value)=>{
if (!value) return 0
// 獲取整數(shù)部分
const intPart = Math.trunc(value)
// 整數(shù)部分處理,增加,
const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
// 預(yù)定義小數(shù)部分
let floatPart = ''
// 將數(shù)值截取為小數(shù)部分和整數(shù)部分
const valueArray = value.toString().split('.')
if (valueArray.length === 2) { // 有小數(shù)部分
floatPart = valueArray[1].toString() // 取得小數(shù)部分
return intPartFormat + '.' + floatPart
}
return intPartFormat + floatPart
})
index.vue
<view>{{riskAll| unitConverter}}</view>
2.home.vue 單頁(yè)面方法
filters:{
unitConverter function(value){
if (!value) return 0
// 獲取整數(shù)部分
const intPart = Math.trunc(value)
// 整數(shù)部分處理,增加,
const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
// 預(yù)定義小數(shù)部分
let floatPart = ''
// 將數(shù)值截取為小數(shù)部分和整數(shù)部分
const valueArray = value.toString().split('.')
if (valueArray.length === 2) { // 有小數(shù)部分
floatPart = valueArray[1].toString() // 取得小數(shù)部分
return intPartFormat + '.' + floatPart
}
return intPartFormat + floatPart
})
},
<view>{{riskAll| unitConverter}}</view>