Reputation: 2201
i parse a json object and suppose i have this value 1515.2777777777778
i need to parse the currency in this way:
€ 1'515,27
Is there a special class that can directly do the conversion? or should i do it in this way:
Double number = Double.valueOf(obj.getString("price"));
DecimalFormat decimalFormat = new DecimalFormat("€ #\\'###.00");
String prezzo = decimalFormat.format(number);
but even in this way i t doesnt lieke the single apostrophe.
Upvotes: 5
Views: 7720
Reputation: 39406
The format you need is € #,###.00
, ,
means you use a grouping separator.
Then, you need a DecimalFormatSymbols
to specify the grouping symbol and the decimal symbol:
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator('\'');
symbols.setDecimalSeparator(',');
DecimalFormat decimalFormat = new DecimalFormat("€ #,###.00", symbols);
String prezzo = decimalFormat.format(number);
Result € 1'515,28
Upvotes: 6
Reputation: 13520
You can use NumberFormat.getCurrencyInstance()
or NumberFormat.getCurrencyInstance(Locale locale)
to get the NumberFormat
instance that can be used to format currencty values.
Upvotes: 8