Java中的NumberFormat(数字格式化类)
getInstance()、getNumberInstance()。返回当前默认语言环境的通用数值格式。
getInstance(Locale)、getNumberInstance(Locale)。返回指定语言环境的通用数值格式。
NumberFormat.setMinimumIntegerDigits(int)。设置数的整数部分所允许的最小位数。
NumberFormat.setMaximumIntegerDigits(int)。设置数的整数部分所允许的最大位数。
NumberFormat.setMinimumFractionDigits(int)。设置最少小数点位数,不足的位数以0补位,超出的话按实际位数输出。
NumberFormat.setMaximumFractionDigits(int)。设置最多保留小数位数,不足不补0。
public static void main(String[] args) {
numberFormat();
}
private static void numberFormat() {
double d = 12345.676688000;
NumberFormat nf = NumberFormat.getNumberInstance();
System.out.println(nf.format(d));//12,345.677 默认只保留到小数点后三位
nf.setMinimumIntegerDigits(2);
System.out.println(nf.format(d));//12,345.677 整数部分大于2位按默认最大小数位数3位输出
d = 1234.0;
nf.setMaximumIntegerDigits(3);
System.out.println(nf.format(d));//234
nf = NumberFormat.getInstance();
d = 12345.676;
nf.setMinimumFractionDigits(1);
System.out.println(nf.format(d));//12,345.677 小数部分大于1位,按默认最大小数位数3位输出
nf.setMinimumFractionDigits(5);
System.out.println(nf.format(d));//12,345.67660 不够位数补0
nf.setMaximumFractionDigits(1);
System.out.println(nf.format(d));//12,345.7
nf = NumberFormat.getNumberInstance(Locale.US);
d = 12345.6789;
System.out.println(nf.format(d));//12,345.679
nf = NumberFormat.getNumberInstance(Locale.FRANCE);
System.out.println(nf.format(d));//12 345,679
}
运行结果如下