Magento 2のJavaScriptでフォーマット価格


9

JavaScriptで数値を計算しました。価格として表示したいもの。

私のJSファイル

define([
    'jquery'
], function ($) {
    "use strict";

    function irreleventCalculations() {
        // black magic here
        return 19.949999;
    }
    var price = irrelevenCalculation();

    jQuery('#myCustomPriceDiv').text(formatedPrice);

    return $;
});

Magento 2ではどのようにすればよいですか?


コードを共有していただけますか?
アミットベラ

.toFixed(2)メソッドを使用してみてください。IeformatedPrice = price.toFixed(2)
Renon Stewart

@RS設定に応じて価格をフォーマットします。正しいシンボルといくつかの国では、3つ以上の山車持っているので、
janw

回答:


19

shipping_method / price.jsを見てください。

define(
    [
        'jquery',
        'Magento_Checkout/js/model/quote',
        'Magento_Catalog/js/price-utils'
    ],
    function ($,quote, priceUtils) {
        "use strict";
            ......
            formatedPrice = getFormattedPrice(price)

            getFormattedPrice: function (price) {
                //todo add format data
                return priceUtils.formatPrice(price, quote.getPriceFormat());
            }
        });
    }
);

それは役に立ちました。私はコードを別の答えで投稿します。しかし、あなたのものを受け入れます。
janw 2016年

2
これはカートとチェックアウトページでのみ機能します。他のページではwindow.checkoutConfigは未定義であるとアクセスできない引用オブジェクトとエラーがスローされます:Uncaught TypeError: Cannot read property 'quoteData' of undefined at quote.js:13
ミロスラフ・ペトロフ

@MiroslavPetroffこれの簡単な解決策を見つけましたか?価格形式を取得するための独自のコードを記述する以外に?
Alex

実際のpriceFormatオブジェクトを取得する方法をお探しの方(ストア構成に応じて):magento.stackexchange.com/a/151836/77158
nikoskip

5

RSの回答に基づく

define([
    'jquery',
    'Magento_Catalog/js/price-utils'
], function ($, priceUtils) {
    "use strict";

    function irreleventCalculations() {
        // black magic here
        return 19.949999;
    }
    var price = irrelevenCalculation();
    price = priceUtils.formatPrice(price);


    jQuery('#myCustomPriceDiv').text(formatedPrice);

    return $;
});

1
これは、ローカライズされていない価格形式でのみ機能するようです。
Alex
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.