NumberFormat

本章目标
可以使用NumberFormat类进行本地化的数字显示
可以使用DecimalFormat指定格式化模板

 

NumberFormat类
NumberFormat表示数字的格式化类,即:可以按照本地的风格习惯进行数字的显示。
此类的定义如下:
——public abstract class NumberFormat extends Format
NumberFormat_第1张图片
 

使用当前语言环境格式化数字

import java.text.NumberFormat;
public class NumberFormatDemo01 {
	public static void main(String[] args) {
		NumberFormat nf = null;
		nf = NumberFormat.getInstance();//得到默认的数字格式显示
		System.out.println("格式化之后的数字:"+nf.format(1000000));
		System.out.println("格式化之后的数字:"+nf.format(1000.235));
	}
/* 结果:
 * 格式化之后的数字:1,000,000
 * 格式化之后的数字:1,000.235
 * */
}

 

DecimalFormat
DecimalFormat也是Format的一个子类,主要的作用是用来格式化数字使用,当然,在格式化数字的时候要比直接使用NumberFormat更加方便,因为可以直接指定按用户自定义的方式进行格式化操作,与之前讲解的SimpleDateFormat类似,如果要想进行自定义格式化操作,则必须指定格式化操作的模板。

 

格式化模板
NumberFormat_第2张图片
 

格式化数字

import java.text.DecimalFormat;
import java.text.NumberFormat;
class FormatDemo{
	public void format1(String pattern, double value){
		DecimalFormat df = null;
		df = new DecimalFormat(pattern);
		String str = df.format(value);
		System.out.println("使用 "+pattern+" --> 格式化数字"+value+" --> "+str);
	}
}
public class NumberFormatDemo02 {
	public static void main(String[] args) {
		FormatDemo demo = new FormatDemo();
		demo.format1("###,###.###", 111222.345678);
		demo.format1("000,000.000", 11222.345678);
		demo.format1("¥###,###.###", 111222.345678);
		demo.format1("¥000,000.000", 11222.345678);
		demo.format1("##.###%", 0.345678);//使用百分数形式
		demo.format1("00.###%", 0.0345678);//使用百分数形式
		demo.format1("##.###\u2030", 0.345678);//使用千分数形式
	}
/* 结果:
 * 使用 ###,###.### --> 格式化数字111222.345678 --> 111,222.346
 * 使用 000,000.000 --> 格式化数字11222.345678 --> 011,222.346
 * 使用 ¥###,###.### --> 格式化数字111222.345678 --> ¥111,222.346
 * 使用 ¥000,000.000 --> 格式化数字11222.345678 --> ¥011,222.346
 * 使用 ##.###% --> 格式化数字0.345678 --> 34.568%
 * 使用 00.###% --> 格式化数字0.0345678 --> 03.457%
 * 使用 ##.###‰ --> 格式化数字0.345678 --> 345.678‰
 * */
}

 

 

 

 

 

你可能感兴趣的:(format)