需要格式化TextView的货币

Phe*_*ix7 5 java android currency converter textview

我解析一个json对象,并假设我有这个值,1515.2777777777778我需要以这种方式解析货币:
€ 1'515,27

是否有可以直接进行转换的特殊类?或者我应该这样做:

Double number = Double.valueOf(obj.getString("price"));
DecimalFormat decimalFormat = new DecimalFormat("€ #\\'###.00");
String prezzo = decimalFormat.format(number);
Run Code Online (Sandbox Code Playgroud)

但即便以这种方式,也不会说谎单撇号.

Apo*_*orv 7

您可以使用NumberFormat.getCurrencyInstance()NumberFormat.getCurrencyInstance(Locale locale)获取NumberFormat可用于格式化当前值的实例.


njz*_*zk2 6

您需要的格式是€ #,###.00,,您使用分组分隔符.

然后,您需要DecimalFormatSymbols指定分组符号和小数符号:

DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator('\'');
symbols.setDecimalSeparator(',');

DecimalFormat decimalFormat = new DecimalFormat("€ #,###.00", symbols);
String prezzo = decimalFormat.format(number);
Run Code Online (Sandbox Code Playgroud)

结果 € 1'515,28