【问题标题】: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

      【讨论】:

      • 如果数字为 0,这将返回 "$ .00"
      猜你喜欢
      • 1970-01-01
      • 2016-04-25
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多