微信小程序/vue将金额/数字转为千分位显示在页面上
vue将金额转为数字显示在页面上
toThousands (number) {let isNegative_ = false // 判断正负if (Number(number) < 0) {isNegative_ = truenumber = String(number).split('-')[1] // 分离负号 并把String类型的数字并赋值给number}if (Number(number) !== 0 && Math.abs(Number(number)) > 999) { // number整数位小于四位数的时候返回原数const arr = String(number).split('.')const num = arr[0]const len = Math.ceil(num.length / 3) * 3let result = num.padStart(len, '0').match(/\d{3}/g).join(',').replace(/^0+/, '')if (isNegative_) {result = '-' + result}return arr[1] ? result + '.' + arr[1] : result} else {return number}
}
微信小程序将金额转为数字显示在页面上
微信小程序需得使用wxs才能格式化页面上的内容,这里面和js里面文件大不相同,代码如下:
1. 在wxs文件中定义函数并导出供使用
function toThousands (n = 0.00) {if ((typeof n == 'string' || typeof n == 'number') && !isNaN(n)) {n = parseFloat(n).toFixed(2)var r = getRegExp('(\d{1,3})(?=(\d{3})+(?:\.))', 'g')var p = n.replace(r, "$1,")return p} else {console.log(n, '不是一个数字', !isNaN(n))}
}
module.exports = {toThousands:toThousands
}
2. 在wxml页面中引入,为wxs模块命名并使用
// 引入
<wxs src="utils.wxs" module="aaa"></wxs>
// 使用
<view>{{aaa.toThousands(1008611)}}</view>