【问题标题】:need to format currency for TextView需要为 TextView 格式化货币
【发布时间】:2023-03-22 07:08:01
【问题描述】:
我解析一个 json 对象并假设我有这个值1515.2777777777778 我需要以这种方式解析货币:
€ 1'515,27
有没有专门的类可以直接进行转换?还是我应该这样做:
Double number = Double.valueOf(obj.getString("price"));
DecimalFormat decimalFormat = new DecimalFormat("€ #\\'###.00");
String prezzo = decimalFormat.format(number);
但即使这样,它也不像单个撇号。
【问题讨论】:
标签:
java
android
textview
converter
currency
【解决方案1】:
您可以使用NumberFormat.getCurrencyInstance() 或NumberFormat.getCurrencyInstance(Locale locale) 获取可用于格式化货币值的NumberFormat 实例。
【解决方案2】:
你需要的格式是€ #,###.00,,表示你使用了分组分隔符。
那么,你需要一个DecimalFormatSymbols来指定分组符号和小数点符号:
DecimalFormatSymbols symbols = new DecimalFormatSymbols();
symbols.setGroupingSeparator('\'');
symbols.setDecimalSeparator(',');
DecimalFormat decimalFormat = new DecimalFormat("€ #,###.00", symbols);
String prezzo = decimalFormat.format(number);
结果€ 1'515,28