Java如何更改数字格式符号?

您可以使用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);
    }
}