NumberFormat.getCurrencyInstance()
マイナス記号付きの負の USD 通貨値を出力するにはどうすればよいですか?
32162 次
7 に答える
43
NumberFormat.getCurrencyInstance()
ロケールに依存しない方法でそれを行うには、によって返される DecimalFormat を少し調整する必要があります。これが私がやったことです(Androidでテスト済み):
DecimalFormat formatter = (DecimalFormat)NumberFormat.getCurrencyInstance();
String symbol = formatter.getCurrency().getSymbol();
formatter.setNegativePrefix(symbol+"-"); // or "-"+symbol if that's what you need
formatter.setNegativeSuffix("");
IIRC は、Currency.getSymbol()
すべてのシステムのすべてのロケールの値を返すわけではありませんが、主要なロケールでは機能するはずです (そして、それ自体に合理的なフォールバックがあると思うので、何もする必要はありません)。
于 2010-10-12T15:08:54.157 に答える
2
試す:
NumberFormat.getCurrencyInstance(Locale.CANADA);
于 2015-10-30T15:35:57.977 に答える
2
DecimalFormat
デフォルトに依存するのではなく、特定の形式が必要な場合は、独自の形式を作成することをお勧めします。
編集: NumberFormat.getCurrencyInstance() の結果をキャストしDecimalFormat
て、好みに合わせて調整することもできます。
于 2010-01-13T12:09:36.833 に答える
0
NumberFormat.getCurrencyInstance(Locale.UK);
于 2015-12-23T14:34:10.143 に答える