【微信小程序】利用WXS在WXML中使用toFixed方法

在微信小程序开发中,遇到需要在WXML页面中显示计算后保留小数点后两位的数值,由于toFixed方法不能在WXML中直接使用,作者提出利用WXS(WeiXinScript)解决此问题。通过创建一个名为numberToFixed的WXS文件,封装toFixed方法,然后在WXML中引用并调用该方法,实现了在模板层直接处理数值格式化,提高了代码的优雅性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在微信小程序开发中,遇到了在WXML页面中需要保存小数点后2位,而且这个数字是通过list的item中的两个或多个值计算出来的,这样的情景不要在js中先计算好数值然后保留2位小数(这种方式需要全部遍历列表,然后计算数值后保存到一个变量中,再更新页面,不优雅)

这样自然会想到,在WXML中使用toFixed来保留2位小数不行吗,答案是不行的,toFixed是JavaScript 中的方法,在WXML中直接使用会编译不过。
在这里插入图片描述
微信小程序提供了WXS

WXS

WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。
WXS 与 JavaScript 是不同的语言,有自己的语法,并不和 JavaScript 一致。

WXS是可以使用toFixed方法的。接下来记一下使用方法

先在utils中创建一个文件numberToFixed.wxs,然后编写封装toFixed的方法,传入需要格式化的值value,以及需要保留的小数点位数num

var numberToFixed = function (value, num) {
  return value.toFixed(num)
}
module.exports.numberToFixed = numberToFixed

然后在需要使用的WXML中引入这个文件

<wxs module="filter" src="/utils/numberToFixed.wxs"></wxs>

使用

<label class="pricelab">¥ {{filter.numberToFixed(item.price * item.number,2)}}</label>

在这里插入图片描述
效果
在这里插入图片描述

微信小程序中的toFixed方法用于保留小数点后指定的位数。你可以通过在数字后面使用.toFixed()来调用这个方法,并在括号内指定要保留的位数。例如,如果你想保留两位小数,你可以使用.toFixed(2)。注意,toFixed方法返回的是一个字符串类型的值,所以如果你需要进行数学运算,可能需要将其转换为数字类型。 在微信小程序中,如果你想在WXML使用toFixed来保留小数位数,是不可行的。因为toFixed是JavaScript中的方法,直接在WXML使用会导致编译错误。不过,微信小程序提供了WXSWXML Script)来解决这个问题。你可以在utils文件夹中创建一个名为numberToFixed.wxs的文件,在其中编写封装toFixed方法的函数。这个函数接受两个参数,需要格式化的值value和需要保留的小数位数num,并返回格式化后的值。然后,你可以使用module.exports将这个函数导出,以便在其他地方引用和使用。 总结起来,如果你想在微信小程序使用toFixed方法来保留小数位数,可以通过以下步骤实现: 1. 在utils文件夹中创建一个名为numberToFixed.wxs的文件; 2. 在numberToFixed.wxs中编写封装toFixed方法的函数,接受需要格式化的值value和需要保留的小数位数num,并返回格式化后的值; 3. 使用module.exports将这个函数导出; 4. 在需要使用toFixed方法的地方引入numberToFixed.wxs,并调用函数来实现保留小数位数的功能。 参考资料: 微信小程序 保留小数(toFixed) 微信小程序提供的WXS文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值