vue将金额转为数字显示在页面上
toThousands (number) {
let isNegative_ = false // 判断正负
if (Number(number) < 0) {
isNegative_ = true
number = 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) * 3
let 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>