Convert string to integer in Shopify Liquid?

MountainX picture MountainX · Nov 29, 2014 · Viewed 29.7k times · Source

I just read this related answer:

How can I convert a number to a string? - Shopify Design — Ecommerce University

To convert a string to a number just add 0 to the variable:

{% assign variablename = variablename | plus:0 %}

Not super elegant but it works!

Inelegant or not, the answer given there isn't working for me. What's the right way to do this?

Are the Liquid docs really missing such basic answers or am I just not finding the right place to look?

Answer

Steph Sharp picture Steph Sharp · Nov 29, 2014

Using assign with a math filter is correct. See this thread on GitHub, and this blog post.

Variables created through {% capture %} are strings. When using assign, either of these options should give you a number:

{% assign var1 = var1 | plus: 0 %}
{% assign var2 = var2 | times: 1 %}

If this doesn't work for you, can you post the relevant code?