Reputation: 15767
I'm surprised that I'm having real trouble finding how to do this. It seems to me it should be pretty straightforward. Perhaps I'm looking in the wrong place.
Suppose I have the following code:
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");
How do I get instances of NumberFormat that let me print out the 123.45 value correctly formatted for the Locale? ie I want the following for the UK and France respectively :
€123.45
123,45 €
I can't use NumberFormat.getCurrencyInstance(Locale)
as that will format the UK format as Sterling (£). What I am looking for is NumberFormat.getCurrencyInstance(Locale, Currency)
, but that doesn't seem to exist.
Any ideas?
Upvotes: 5
Views: 4368
Reputation: 308249
Use NumberFormat.setCurrency()
to modify the currency used for a specific NumberFormat
acquired via NumberFormat.getCurrencyInstance(Locale)
.
Upvotes: 4