Вопрос

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.

Это было полезно?

Решение 2

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

Другие советы

You can use NumberFormat.getCurrencyInstance() or NumberFormat.getCurrencyInstance(Locale locale) to get the NumberFormat instance that can be used to format currencty values.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top