java对南非货币使用“R”而不是“ZAR”
当地区设置为南非时,如何使用“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。替换()
# 1 楼答案
NumberFormat
类根据作为参数传递的区域设置来格式化数字。如果语言环境是南非(new Locale("en", "ZA")
),则数字将正确显示:R 12345.67# 2 楼答案
我发现了一个很好的例子:
从这里:Not getting currency symbols for specific Locale
# 3 楼答案
构建自己的
NumberFormat
类(扩展Java的),并实现自己的format
版本;为除ZAR
之外的所有货币调用基类函数您当前采用的方法往往会导致大量重复(和未封装)的代码