2017-05-12 12 views
1

JavaScript Intlオブジェクトを使用しています。数字(150など)を "150"のように書式設定する必要があります。JS Intl.NumberFormatは、最大桁数が0の場合です。0

var GBPFormatter = new Intl.NumberFormat('en-US', { 
 
     style: 'currency', 
 
     currency: 'GBP', 
 
     maximumFractionDigits: 0 
 
    });

が、今では「maximumFractionDigits以下は」0にすることはできません、とhttps://developer.mozilla.org/に読んだ後、私はGBPのためにということを発見したと述べている:Chromeのバージョン59にアップデート刚性、このコードは完璧に働きましたmaximumFractionDigitsは2未満にはできません。

すべてがうまくいきましたが、まだ150ポンド(150ポンド)は必要ありません。任意のアイデアはどのように私はまだIntlオブジェクトを使用し、それが私が必要とする方法を見えるようにすることができます。

P.S.私は自分自身の機能を同じにすることができることを知っていますが、私はGBPだけでなく、もう少し通貨を持っていないと考えて、私は準備ができた解決策に固執します。

+0

どうフォーマッタの結果を書式設定についてラッパー関数を使用して - 小数点を削除しますか? –

答えて

1

maximumFractionDigitsオプションは0に設定できますが、値はminimumFractionDigitsより大きい必要があります。 minimumFractionDigitsのデフォルト値はこの通貨のため0よりも高くなっているため、手動であなたが望む結果を得るためにそれらの両方を設定する必要があります:

var GBPFormatter = new Intl.NumberFormat('en-US', { 
 
    style: 'currency', 
 
    currency: 'GBP', 
 
    minimumFractionDigits: 0, 
 
    maximumFractionDigits: 0 
 
}); 
 

 
console.log(GBPFormatter.format(150)); // Should output "£150"

+0

あなたは何ヶ月前に商品を購入しましたか:)これは完全に動作します –

関連する問題