2016-10-06 77 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