您可以使用DecimalFormatSymbols类来更改出现在格式化数字中的符号。 这些符号包括可以使用setDecimalSeparator()更改的十进制分隔符,可以使用setGroupingSeparator()方法更改的分组分隔符。 您还可以更改减号和百分号等。
package org.nhooo.example.text; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.util.Locale; public class NumberFormatSymbol { public static void main(String[] args) { DecimalFormat formatter; String pattern = "###,###.##"; double number = 123456.789; // 为美国创建一个DecimalFormatSymbols对象 // 语言环境。 DecimalFormatSymbols dfs = new DecimalFormatSymbols(Locale.US); // 创建具有给定模式的格式对象,而无需 // 更改语言环境dfs,然后格式化给定的值。 formatter = new DecimalFormat(pattern); String before = formatter.format(number); // 更改小数点分隔符和分组分隔符。 dfs.setDecimalSeparator(','); dfs.setGroupingSeparator('.'); dfs.setMinusSign('-'); dfs.setPercent('%'); // 使用给定的模式和符号创建格式对象 // 然后格式化给定的值。 formatter = new DecimalFormat(pattern, dfs); String after = formatter.format(number); System.out.println("before: " + before + " | after: " + after); } }