java - 格式化没有货币符号的货币

标签 java currency number-formatting

我正在使用 NumberFormat.getCurrencyInstance(myLocale) 来获取我给定的语言环境的自定义货币格式。但是,这总是包含我不想要的货币符号,我只想要给定语言环境的正确货币数字格式,而没有货币符号。

执行 format.setCurrencySymbol(null) 会引发异常..

最佳答案

以下作品。有点难看,但是很符合约定:

NumberFormat nf = NumberFormat.getCurrencyInstance();
DecimalFormatSymbols decimalFormatSymbols = ((DecimalFormat) nf).getDecimalFormatSymbols();
decimalFormatSymbols.setCurrencySymbol("");
((DecimalFormat) nf).setDecimalFormatSymbols(decimalFormatSymbols);
System.out.println(nf.format(12345.124).trim());

您还可以从货币格式中获取模式,删除货币符号,并从新模式中重建新格式:

NumberFormat nf = NumberFormat.getCurrencyInstance();
String pattern = ((DecimalFormat) nf).toPattern();
String newPattern = pattern.replace("\u00A4", "").trim();
NumberFormat newFormat = new DecimalFormat(newPattern);
System.out.println(newFormat.format(12345.124));

关于java - 格式化没有货币符号的货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8658205/

相关文章:

java - 使用 bigdecimal 进行数学运算,结果为 0

java - 使用 Spring Boot 映射 html 资源

python - 通俗地说,Python 字符串格式 "g"实际上是什么意思?

python - 在 Python 中生成具有并行标记边/顶点的有向图

java - 绑定(bind)到标签时格式化整数

android - 如何在 EditText 中输入数字时自动添加千位分隔符

java - 我应该如何在我的 Android 应用程序的 REST API 代码中使用字符串?

java - 如何删除 HTML 特殊字符并将特殊字符替换为文本中的相应值?

python - 如何将 '$1,234.56'读取为1234.56

gnuplot - gnuplot 标签中的逗号