我有一个看起来像这样的前线:
products:
- item: item name
price: 39.50
- item: item number two
price: 12.50
如何在尾随零的液体中输出这些变量?
请注意{{ products[0].price }}
将输出39.5
。我需要输出39.50
。
答案 0 :(得分:5)
我确信你可以使用一系列过滤器一起破解它,但一个快速而愚蠢的解决方案是简单地将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"
答案 1 :(得分:5)
这将是一种方法,分多步执行:
{% 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 }}
答案 2 :(得分:2)
我知道这是一个比较老的问题,但是您可以为此创建一个自定义过滤器。
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 }}