特定の(デフォルトのロケールで十分です)および特定の小数点以下の桁数の値NumberFormat
をフォーマットするにはどうすればよいですか?double
Locale
たとえば、次の値があります。
double d1 = 123456.78;
double d2 = 567890;
そして、次のように印刷したいと思います。たとえば、米国のロケールと小数点以下2桁を使用します。
123,456.78
567,890.00
この場合、実際には丸めモードは気にしません。これらのdouble値はBigDecimal
、指定されたスケールでaから取得されるため、小数点以下の桁数は、印刷する小数点以下の桁数よりも常に少ないか等しいためです。
編集:
もう少し明確にするために、ロケールに依存する方法でお金を表示したいのですが、小数点以下の桁数は固定されています。上記の例は、システムロケールが。の場合に値をフォーマットする方法を示していますen_US
。ここで、システムロケールはcs_CZ
(チェコ語)であるため、同じ数値を次のようにフォーマットする必要があります。
123 456,78
567 890,00
さて、NumberFormatを設定して、常に小数点以下2桁を表示し、現在のロケールに基づいて千単位の区切り文字と小数点を表示するにはどうすればよいですか?