Liquid模板使用Minus运算出现参数数量不匹配错误如何解决?
问题根源
- Liquid过滤器对大小写敏感,代码中使用的首字母大写
Minus不符合语法规范,标准减法过滤器为全小写的minus,这是触发参数不匹配报错的直接原因 - 过滤器语法中冒号与参数之间不要留多余空格,避免部分低版本Liquid解析器出现识别异常
修正方案
如果不需要修改原始数值,仅需要将字符串转为数值做减法,直接使用plus: 0完成类型转换即可,修正后代码如下:
{% assign my_v1="12.24" | plus: 0 %} {% assign my_v2="10.24" | plus: 0 %} {{ my_v1 | minus: my_v2 }}
运行后输出结果为2.24,符合预期。
如果业务逻辑确实需要先对两个数值做+1运算再相减,保留plus: 1的写法、仅修改过滤器为小写minus即可,计算结果同样为2.24。
内容的提问来源于stack exchange,提问作者Hichamveo
相关产品推荐
相关产品推荐

