我解析一个json对象并假设我有这个值1515.2777777777778
我需要以这种方式解析货币:
€ 1'515,27
是否有可以直接进行转换的特殊类?或者我应该这样做:
Double number = Double.valueOf(obj.getString("price"));
DecimalFormat decimalFormat = new DecimalFormat("€ #\\'###.00");
String prezzo = decimalFormat.format(number);
但即使这样,我也不会说单撇号。
答案 0 :(得分:7)
您可以使用NumberFormat.getCurrencyInstance()
或NumberFormat.getCurrencyInstance(Locale locale)
获取可用于格式化当前值的NumberFormat
实例。
答案 1 :(得分:5)
您需要的格式为€ #,###.00
,,
表示您使用分组分隔符。
然后,您需要DecimalFormatSymbols
来指定分组符号和小数符号:
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator('\'');
symbols.setDecimalSeparator(',');
DecimalFormat decimalFormat = new DecimalFormat("€ #,###.00", symbols);
String prezzo = decimalFormat.format(number);
结果€ 1'515,28