私は、DecimalFormatを使用して通貨値に変換し、小数点記号を変更しますが、小数点記号は無視されます。通貨小数点セパレータが機能しません
class Currency {
public static void main (String... args) {
DecimalFormat nf =(DecimalFormat) DecimalFormat.getCurrencyInstance(Locale.getDefault());
nf.setGroupingUsed(true);
DecimalFormatSymbols symbols = nf.getDecimalFormatSymbols();
symbols.setGroupingSeparator(' ');
symbols.setCurrencySymbol("EUR");
symbols.setDecimalSeparator('-');
nf.setDecimalFormatSymbols(symbols);
System.out.println(nf.format(13000.31));
}
}
ので、私は結果がでなければならないことを期待します:13 000から31 EUR私はドイツ語のロケールにいる場合、私は、米国のロケールで午前ならば、それはEUR 13 000から31にする必要があります。しかし、私が見ているのは、13,000,31 EURまたは13,000.31ユーロです。
通貨記号とグループ化区切り記号でうまくいきますが、小数点区切り記号はどのような場合でも無視されます。
なぜ誰かがアイデアを持っていますか?
symbols.setMonetaryDecimalSeparator('-');
THXを、それが動作:) – dschmidt