2017-03-27 5 views
0

Iユーザー入力の書式設定にIntl.NumberFormatオブジェクトを使用しようとしました。 私のjavascriptプロジェクトでは、コンポーネントを作成し、以下のように使用しようとしました。'de'ロケールと 'パーセント'スタイルのIntl.NumberFormatの使用

const simpleFormat = new Intl.NumberFormat('de-DE', {style: 'percent'}); 

simpleFormat.format(12345678) 

それは私が123.456,78% カンマ、およびドットを期待していたとき、私は123.456.78%その結果できます。同じロケールの通貨スタイルで正常に動作する区切り文字。しかし、それは 'パーセント'モードで動作していないようです。誰にもこの問題の解決策がありますか?

答えて

2

まず、パーセントとして書式設定すること1.234.567.800%ない「123.456.78%」の文字列を生成し、単純に、小数点12345678割合を取得するために100を乗じて、ためです(小数点1は100%に等しくなります)。

パーセントのスタイルではデフォルトで小数点は使用されないため、必要に応じてmaximumFractionDigitsオプションを使用する必要があります。あなたは23.456,78%したい場合は、すべてのそれと

、あなたが必要となります

const simpleFormat = new Intl.NumberFormat('de-DE', { 
 
    style: 'percent', 
 
    maximumFractionDigits: 2, 
 
}); 
 
let perc = simpleFormat.format(1234.5678); 
 
console.log(perc);

+0

はい。今すぐ入手してください。ありがとう@rgthree – JagKum

関連する問題