涉及到金额展示的都需要在千分位上加逗号,以下为vue项目的实例。
1,在main.js下挂载一个全局方法。
// 金额千分位加逗号
Vue.prototype.amountRule =(amount)=>{
let defaultAmount = ' '
let setAmount = amount + ' '
if(setAmount != 'null' && setAmount != '' && setAmount != 'undefined' && setAmount != '--'){
defaultAmount = Number(setAmount).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, '$1,');
return defaultAmount
}else{
return defaultAmount
}
}
2,在我们的vue 页面中调用该方法。
let string = '73564172.93'
this.amountRule(string )
console.log(this.amountRule(string ))
// 输出结果为:73,564,172.93
3,由于我们是从后台获取的金额数据,所以在拿到数据时要转为字符串
例1(后台返回数组格式):data.content为后台获取到的数组,我需要把worth、blockWorth 这两个字段的金额转化
let setData = data.content;
for(let i=0;i<setData.length;i++){
setData[i].worth = this.amountRule(setData[i].worth)
setData[i].blockWorth = this.amountRule(setData[i].blockWorth)
}
this.pageResult = setData; //最后赋值
例2(后台返回对象格式):data.obj为后台获取到的对象,我需要把averageDepositBalance、averageLoanBalance这两个字段的金额转化
let setData = data.obj;
let arr = ['averageDepositBalance','averageLoanBalance'] //自定义这两个字段为一个数组
for(let k in setData ){ //for in 循环后台返回的对象
if(arr.indexOf(k)>=0){ //用我们自定义的数组在对象里检索,只要符合,就将其值转化
setData[k] = this.amountRule(setData[k]) //便利转化
}
}
this.pageResult = setData; //最后赋值
如果帮到了各位,请留个言感谢。