我很惊讶我发现如何做到这一点真的很麻烦。在我看来它应该非常简单。也许我在寻找错误的地方。
假设我有以下代码:
double amount = 123.45D; //yes, I know that I should be using longs
Locale uk = Locale.UK;
Locale fr = Locale.FR;
Currency euro = Currency.getInstance("EUR");
如何获取NumberFormat实例,让我打印出为Locale正确格式化的123.45值?即我分别想要英国和法国的以下内容:
€123.45
123,45 €
我不能使用NumberFormat.getCurrencyInstance(Locale)
,因为这会将英国格式格式化为Sterling(£)。我正在寻找的是NumberFormat.getCurrencyInstance(Locale, Currency)
,但这似乎并不存在。
有什么想法吗?
答案 0 :(得分:4)
使用NumberFormat.setCurrency()
修改通过NumberFormat
获取的特定NumberFormat.getCurrencyInstance(Locale)
使用的货币。