[英]Trailing zero's in Jekyll/Liquid
我有看起来像这样的frontmatter:
products:
- item: item name
price: 39.50
- item: item number two
price: 12.50
如何在带有尾随零的液体中输出这些变量?
请注意, {{ products[0].price }}
将输出39.5
。 我需要它输出39.50
。
这将是一种方法,分多个步骤:
{% assign price_split = page.products[0].price | round: 2 | split: "." %}
{% assign integral = price_split[0] %}
{% assign fractional = price_split[1] | append: "00" | truncate: 2, "" %}
Formatted Price: {{ integral }}.{{ fractional }}
我相信您可以使用一系列过滤器将其组合在一起,但一个快速而愚蠢的解决方案是简单地将您的price
括在引号中,使其成为字符串值而不是数字值。 在这种情况下,它会与您输入的完全一样,包括任何尾随零。
products:
- item: item name
price: "39.50"
- item: item number two
price: "12.50"
如果您需要对数值进行处理,您可以有两个变量:价格的数值和价格标签的字符串值。
products:
- item: item name
price: 39.50
priceLabel: "39.50"
- item: item number two
price: 12.50
priceLabel: "12.50"
我知道这是一个较旧的问题,但您可以为此创建自定义过滤器。
module Jekyll
module PrecisionFilter
def precision(input, value=0)
("%.#{value}f" % input)
end
end
end
Liquid::Template.register_filter(Jekyll::PrecisionFilter)
将其保存为_plugins/precision_filter.rb
并重新启动您的 jekyll 服务器(如果它正在运行)。 它将使您能够像这样设置数字的精度,
{{ price | precision: 2 }}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.