`

格式化数字

    博客分类:
  • J2SE
 
阅读更多
/**
 * 格式化数字的输出
 *
 */
public class FormatNumber 
{
	public static void main(String args[])
	{
		DecimalFormat df = new DecimalFormat();
		double data = 1203.405607809;
		System.out.println("格式化之前的数字:" + data);
		
		//在格式化的时候会自动进行舍入,舍入模式是:
		//向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入
		//模式中"."表示小数分隔符
		//模式中的"0"表示该位存在的字符,则显示字符,如果不存在,则显示0
		String pattern = "0.0";	//显示格式
		//将格式应用于格式化器
		df.applyPattern(pattern);
		System.out.println("采用pattern:" + pattern + "格式化之后:" + df.format(data));
		
		//可以在模式最后加自己想要的任何字符,比如单位
		pattern = "0000.000 kg";
		df.applyPattern(pattern);
		System.out.println("采用pattern:" + pattern + "格式化之后:" + df.format(data));
		
		//模式中的"#"表示如果该位存在字符,则显示字符,如果不存在,则不显示
		pattern="##000.000 kg";	//注意#只能出现在模式的两头,不能在0中间
		df.applyPattern(pattern);
		System.out.println("采用pattern:" + pattern + "格式化之后:" + df.format(data));
		
		//模式中的"-"表示输出为负数,要放在最前面
		pattern="-000.000";
		df.applyPattern(pattern);
		System.out.println("采用pattern:" + pattern + "格式化之后:" + df.format(data));
		
		//模式中的","表示输出为负数,要放在最前面
		pattern="-0,000.0#";
		df.applyPattern(pattern);
		System.out.println("采用pattern:" + pattern + "格式化之后:" + df.format(data));
		
		//模式中的"E"表示输出为指数,"E"之前的字符串是底数的格式
		//"E"之后的是字符串,是指数的格式
		pattern="0.00E000";
		df.applyPattern(pattern);
		System.out.println("采用pattern:" + pattern + "格式化之后:" + df.format(data));
		
		//模式中的"%"表示乘以100并显示为百分数,要放在后面
		pattern="0.00%";
		df.applyPattern(pattern);
		System.out.println("采用pattern:" + pattern + "格式化之后:" + df.format(data));
		
		//模式中的"\u2030"表示乘以1000并显示为千分数,要放在后面
		pattern="0.00\u2030";
		df.applyPattern(pattern);
		System.out.println("采用pattern:" + pattern + "格式化之后:" + df.format(data));
	}
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics