Convert string to integer in Shopify Liquid?
Asked Answered
T

2

56

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?

Tonjatonjes answered 29/11, 2014 at 3:59 Comment(0)
R
110

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?

Rick answered 29/11, 2014 at 9:54 Comment(1)
I got it working. I'm just learning Liquid. Thanks for the two links. I read them both.Tonjatonjes
M
-2

In Shopify Liquid programming language, you can convert a string to an integer using the to_i filter.

For example, if you have a variable string_number that contains a string representation of a number, you can convert it to an integer using the following code:

{{ string_number | to_i }}

It will convert the string to integer and you can use it in mathematical calculations, comparisons and other operations that work with integers.

For example, you could use the to_i filter to add two numbers together:

{% assign number_1 = "5" %}
{% assign number_2 = "2" %}
{% assign result = number_1 | to_i + number_2 | to_i %}
{{ result }}

This will output: 7

Please note that this filter will return 0 if the string is not a valid number.

Source

Mease answered 18/1, 2023 at 19:47 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.