[Shopify]Liquidの文字列Stringを数値Integerに変換する方法

[Shopify]Liquidの文字列Stringを数値Integerに変換する方法

 

Liquidで文字列を扱っている時に数値に変換したい!という時ってありませんか。ちょうど先日Liquid内の処理を書いている時に、文字列(String)で情報を取得したのだけど、数値(Integer)に変換して足し算や引き算をしたい。という場面に出くわしたので記録として書いておきます。

 

文字列を数値に変更する必要性

例えば、"1"という文字列と1という数値を足したい時に、意図せず数値が文字列に変換されてしまい、"11"になってしまうこともあるのです。

  • やりたいこと
    1(数値)+ 1(数値)= 2(数値)

 

  • 意図せずなってしまう可能性があるもの

    "1"(文字列)+ 1(数値)= "11"(文字列)
    "1"(文字列)+ "1"(文字列)= "11"(文字列)

のように型が違うと、意図せず違う結果になってしまう場合があるのです。これを避けるために最初に数値に合わせて計算する必要があります。

 

文字列を数値に変換する方法

それでは早速、文字列を数値に変換する方法です。

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

もしくは

{% assign variable2 = variable2 | times: 1 %}

このように値にあらかじめプラスやかけるを付けることで、数値に変換することができるのです。

1つ目のplus 0 は単純に0を足すので値は変わりませんし、2つ目の times 1 もかける1なので、値が変わることはありません。

 その後に、プラスをするなり、かけるをするなり、すればちゃんとした計算結果が得られるはずです。

 

ShopifyでLiquidの文字列Stringを数値Integerに変換する方法 まとめ

以上、今回は短めの記事でしたが、文字列を数値に変換する方法でした。意外と英語ソースでしか情報を見つけられなかったのでぜひ参考にしてみてください。

Shopifyの開発をしていると、この変換、結構使う頻度高い気がします。ここ1ヶ月ほどで何回か調べました!もしこの記事が少しでも役に立ったら嬉しいです。

それでは最後までお読みいただきありがとうございました。本日も良い1日を!

Contact form

新規ストア構築、開発などのお仕事の依頼・無料相談はこちら