通貨表示と価格ロジック
多通貨・税込表示・単価を含む価格表示を正しく実装できる
最終確認: 2026-09
解説
受託の現場でなぜ必要か: この回では、多通貨・税込表示・単価を含む価格の表示を、正しく実装できるようになります。
受託では、価格の表示ミスがそのまま損失や問い合わせになるので、この回の2つの約束を守って納品します。
価格はなぜ「×100」の整数で入っているか
Liquidのproduct.priceは、円でも128000(¥1,280)のような整数です。
通貨の最小単位で持つことで、小数の誤差を避けています。
必ず`money`系フィルタで整形し、自前で割り算しません。
これが1つ目の約束です。priceを自分で割った表示は、多通貨や小数のある通貨で必ず壊れます。
moneyとmoney_with_currencyはどう使い分けるか
多通貨ストアでは、money_with_currencyで通貨コードを付けます。
通貨コードが無いと、「$」だけではUSDかCADか分からず誤解を生みます。
書式そのものは、設定 › ストアの詳細 の通貨書式に従います。
「税込」ラベルは何で判定するか
shop.taxes_includedかcart.taxes_includedを見て、「税込」ラベルを出し分けます。
これが2つ目の約束です。
税の設定とテーマの表示は、連動していません。
発展:単価・端数・通貨の食い違い
単価は、unit_priceとunit_price_measurementで表示します。
JPYは小数点以下が無いので、市場別の丸め設定と表示が一致するか確認します。
通貨は市場が決めるため、cart.currencyとshop.currencyは一致しないことがあります。
表示は常に、cart.currencyかlocalization.country.currency側を信頼します。
※ ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。