我试图让Liquid来简单地四舍五入一个数字。这是我的代码:
{% assign loopCount = page.boxCount | plus:0 | divided_by:3 | %}
{{ loopCount | ceil }}
在这种情况下,loopCount =4。我可以通过添加一个数字并显示结果来确认它是一个数字。
{% assign loopCount = page.boxCount | plus:0 | plus:3.5 %}
{{ loopCount }}
显示7.5
但是,当我除以3时,应该是1.333 ...我的显示屏显示1。液体似乎会自动舍入。
我需要做的事情是四舍五入,以便得到2。我应该使用什么代码来获得预期的结果?
谢谢
编辑:我应该注意到我知道ceil,但是除非我的数字实际上是小数,否则我将无法使用它。
答案 0 :(得分:2)
除以整数时,结果将为整数。如果要获取浮点数,请除以浮点数(请参见https://shopify.github.io/liquid/filters/divided_by/中的“控制舍入”):
require 'liquid'
source = <<-SRC
{% assign loopCount = page.boxCount | divided_by:3.0 %}
loopCount = {{ loopCount }}
loopCount | ceil = {{ loopCount | ceil }}
SRC
@template = Liquid::Template.parse(source)
puts @template.render('page' => {'boxCount' => 4 })
导致:
loopCount = 1.3333333333333333
loopCount | ceil = 2
如果您这样做:
require 'liquid'
source = <<-SRC
{% assign loopCount = page.boxCount | divided_by:3 %}
loopCount = {{ loopCount }}
loopCount | ceil = {{ loopCount | ceil }}
SRC
@template = Liquid::Template.parse(source)
puts @template.render('page' => {'boxCount' => 4 })
您得到:
loopCount = 1
loopCount | ceil = 1