记录一下,也希望帮到有需要的人,也是在网上东拼西凑来的
金额(数字)千分位,公共方法,需要用到.wxs文件,类似于vue的过滤器
var unit = {
format: function (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 = { format: unit.format }
注意:wxs 文件不同于 js 文件,声明变量要用 var,使用 let 会报错,正则也要用 getRegExp() 的形式
[渲染层错误] ReferenceError: let is not defined
wxml 中使用
module 是别名,src指向你的wxs文件
<wxs module="unit" src="/filte/format.wxs"></wxs>
页面输出
unit 就是上面 module 的别名,price 是传入的数字
<view>{{unit.format(price)}}</view>
小尾巴:暂时这么多,有错误或不清楚的请留言┗( ▔, ▔ )┛┗( ▔, ▔ )┛┗( ▔, ▔ )┛
|