2016-10-06 49 views
1

我希望为数学值指定一个虚拟变量,以便我可以采取上限。使用Shopify Liquid收集变量

我当前的代码是:

{% if variant.compare_at_price > variant.price %} 
    SAVE {{ variant.compare_at_price | minus:variant.price | times:100 | divided_by:variant.compare_at_price }}% 
{% endif %} 

输出是节省20%(例如,但如果是19.99这将是19%而不是20%)

但我想呼吁:

x= {{ variant.compare_at_price | minus:variant.price | times:100 | divided_by:variant.compare_at_price }}% 

然后采取{{ x | ceil }}

我给你怎么办0?

+0

在您的标题,你的意思是'Liquid',不'CSS Liquid'。 – jrbedard

回答

0

通过使用assign变量标签:

{% assign x = variant.compare_at_price | minus:variant.price | times:100.0 | divided_by:variant.compare_at_price %} 
{% assign x = x | ceil %} 
SAVE {{x}}% 
+0

嗨,谢谢你的回复,但我似乎正在得到完整的数字。例如。 对于售价149美元的149美元的商品,Shopify将其列为14900&13900. 所以我得到(14900-13900)* 100/14900 = 6.(应该是6.7)。 那么,当你把6的细胞你得到6. 我想我需要首先指定格式为浮动? – NL77

+0

已更新为'times:100.0' – jrbedard

+0

'divided_by'过滤器向下舍入为最接近的整数。你可以使用'modulo'来获得余数。 – jrbedard