java - 对于南非货币,使用 "R"而不是 "ZAR"

标签 java android currency-formatting

当区域设置设置为南非时,如何使用“R”作为货币?

目前它显示“ZAR”,我需要它显示“R”。

我已经尝试过:

final Currency curr = Currency.getInstance("ZAR");
final NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.getDefault());
nf.setCurrency(curr);
final String value = nf.format(12345.67);

完成所有这些后,我使用 R 替换了 ZAR using.replace();

最佳答案

NumberFormat 类根据作为参数传递的区域设置来格式化数字。如果区域设置为南非 (new Locale("en", "ZA")),则数字将正确显示:R 12,345.67

final Currency curr = Currency.getInstance("ZAR");
final NumberFormat nf = NumberFormat.getCurrencyInstance(new Locale("en", "ZA"));
nf.setCurrency(curr);
final String value = nf.format(12345.67);
System.out.println(value);

关于java - 对于南非货币,使用 "R"而不是 "ZAR",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35337115/

相关文章:

java - 如何为 Docker 应用程序的 Jaspersoft 报告设置自定义货币符号

Java EE 6 - SEAM + EJB 集成/3 层架构

安卓铃声改变 Intent

android - 应用程序启动器图标错误

android - 同一个数据库的多个 DatabaseHelper

java - 如何将自定义数字格式与速度的 NumberTool 一起使用而不产生错误?

java - 用逗号格式化货币数字

java - 如何使用 java-selenium webdriver 检查 zip 文件是否已成功下载?

java - 检测Android App收到扫描请求时是否发送BLE扫描响应

java - 如何在不重新启动服务的情况下重新加载 Coldfusion 中的打印机?