码迷,mamicode.com
首页 > 移动开发 > 详细

Android中的数据格式化

时间:2015-07-01 15:41:09      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

1、十进制数字格式化工具:DecimalFormat

DecimalFormat df = new DecimalFormat();
		double data = 1203.405607809;
		System.out.println("格式化之前:" + data);

		String pattern = "0.0";// 1203.4
		df.applyPattern(pattern);
		System.out.println("采用" + pattern + "模式格式化后:" + df.format(data));

		// 可以在模式后加上自己想要的任何字符,比如单位
		pattern = "00000000.000kg";// 00001203.406kg
		df.applyPattern(pattern);
		System.out.println("采用" + pattern + "模式格式化后:" + df.format(data));

		// #表示如果存在就显示字符,如果不存在就不显示,只能用在模式的两头
		pattern = "##000.000kg";// 1203.406kg
		df.applyPattern(pattern);
		System.out.println("采用" + pattern + "模式格式化后:" + df.format(data));

		// -表示输出为负数,必须放在最前面
		pattern = "-000.000";// -1203.406
		df.applyPattern(pattern);
		System.out.println("采用" + pattern + "模式格式化后:" + df.format(data));

		// ,是分组分隔符 :输出结果12,03.41
		pattern = "-0,00.0#";// -12,03.41
		df.applyPattern(pattern);
		System.out.println("采用" + pattern + "模式格式化后:" + df.format(data));

		// E表示输出为指数,”E“之前的字符串是底数的格式,之后的是指数的格式。
		pattern = "0.00E000";// 1.20E003
		df.applyPattern(pattern);
		System.out.println("采用" + pattern + "模式格式化后:" + df.format(data));

		// %表示乘以100并显示为百分数,要放在最后
		pattern = "0.00%";// 120340.56%
		df.applyPattern(pattern);
		System.out.println("采用" + pattern + "模式格式化后:" + df.format(data));

		// "\u2030"表示乘以1000并显示为千分数,要放在最后
		pattern = "0.00\u2030";// 203405.61‰
		df.applyPattern(pattern);
		System.out.println("采用" + pattern + "模式格式化后:" + df.format(data));

		// "\u00A4"货币符号,要放在两端*****1203.41¥
		pattern = "0.00\u00A4";// 1203.41¥
		df.applyPattern(pattern);
		System.out.println("采用" + pattern + "模式格式化后:" + df.format(data));

		// ‘用于在前缀或或后缀中为特殊字符加引号,要创建单引号本身,请连续使用两个单引号:"# o‘‘clock"。
		pattern = "‘#‘#";// #1203
		// pattern = "‘#‘" ;//#1203
		df.applyPattern(pattern);
		System.out.println("采用" + pattern + "模式格式化后:" + df.format(data));

		pattern = "# o‘‘clock";// 1203 o‘clock
		df.applyPattern(pattern);
		System.out.println("采用" + pattern + "模式格式化后:" + df.format(data));
		// ‘‘放在中间或后面单引号就显示在最后,放在最前面单引号就显示在最前
		// pattern = "# o‘‘clock.000" ;//1203.406 o‘clock
		// pattern = "# .000o‘‘clock";//1203.406 o‘clock
		// pattern = "# .000‘‘";//1203.406 ‘
		// pattern = "# .‘‘000";//1203.406 ‘
		pattern = "‘‘# .000";// ‘1203.406
		df.applyPattern(pattern);
		System.out.println("采用" + pattern + "模式格式化后:" + df.format(data));

  结果为:

格式化之前:1203.405607809
采用0.0模式格式化后:1203.4
采用00000000.000kg模式格式化后:00001203.406kg
采用##000.000kg模式格式化后:1203.406kg
采用-000.000模式格式化后:-1203.406
采用-0,00.0#模式格式化后:-12,03.41
采用0.00E000模式格式化后:1.20E003
采用0.00%模式格式化后:120340.56%
采用0.00‰模式格式化后:1203405.61‰
采用0.00¤模式格式化后:1203.41¥
采用‘#‘#模式格式化后:#1203
采用# o‘‘clock模式格式化后:1203 o‘clock
采用‘‘# .000模式格式化后:‘1203.406 

  

2、日期格式化工具:SimpleDateFormat

SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm"); 
        SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString()
        SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
        SimpleDateFormat myFmt4=new SimpleDateFormat(
                "一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
        Date now=new Date();
        System.out.println(myFmt.format(now));
        System.out.println(myFmt1.format(now));
        System.out.println(myFmt2.format(now));
        System.out.println(myFmt3.format(now));
        System.out.println(myFmt4.format(now));
        System.out.println(now.toGMTString());
        System.out.println(now.toLocaleString());
        System.out.println(now.toString());

  结果为:

2015年07月01日 14时13分22秒
15/07/01 14:13
2015-07-01 14:13:22
2015年07月01日 14时13分22秒 星期三 
一年中的第 182 天 一年中第27个星期 一月中第1个星期 在一天中14时 CST时区
1 Jul 2015 06:13:22 GMT
2015-7-1 14:13:22
Wed Jul 01 14:13:22 CST 2015

  

3、类似于键值对:ChoiceFormat

	double[] limit = { 0, 1, 2, 3 };
		String[] format = { "hello0", "hello1", "hello2", "hello3" };
		ChoiceFormat cf = new ChoiceFormat(limit, format);
		for (int i = 0; i < 4; ++i) {
			System.out.println(cf.format(i));
		}

  结果为:

hello0
hello1
hello2
hello3

  

Android中的数据格式化

标签:

原文地址:http://www.cnblogs.com/gyzboy/p/4613108.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!