【java基础】java中常用的格式化Format

public abstract class Format 类定义了编程接口,用于将语言环境敏感的对象格式化为String(使用format方法)和将String重新解析为对象(使用parseObject方法)。它有直接已知子类:DateFormat,MessageFormat,NumberFormat

一、格式化十进制数 java.text.DecimalFormat

java.lang.Object
  java.text.Format
      java.text.NumberFormat
          java.text.DecimalFormat

DecimalFormat 类主要靠 "#"和 "0" 两种占位符号来指定数字长度。"0" 表示如果位数不足则以"0"填充,"#" 表示只要有可能就把数字拉上这个位置(只是表示格式)。DecimalFormat 使用 half-even 舍入(请参阅 ROUND_HALF_EVEN)进行格式化。  

BigDecimal.ROUND_HALF_EVEN :向“最接近的”数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。

package newTest;

import java.text.DecimalFormat;

public class TestBigDecimal {
	public static void main(String args[]) {
		double pi = 3.1415927;
		// 取一位整数
		System.out.println(new DecimalFormat("00").format(pi));// 03
		// 取一位整数和两位小数
		System.out.println(new DecimalFormat("0.00").format(pi));// 3.14
		// 取两位整数和三位小数,整数不足部分以0填补。
		System.out.println(new DecimalFormat("00.000").format(pi));// 03.142
		// 取所有整数部分
		System.out.println(new DecimalFormat("##").format(pi));// 3
		// 以百分比方式计数,并取两位小数
		System.out.println(new DecimalFormat("#.##%").format(pi));// 314.16%

		long c = 299792458;
		// 显示为科学计数法,并取五位小数
		System.out.println(new DecimalFormat("#.#####E0").format(c));// 2.99792E8
		// 显示为两位整数的科学计数法,并取四位小数
		System.out.println(new DecimalFormat("00.####E0").format(c));// 29.9792E7
		// 每三位以逗号进行分隔。
		System.out.println(new DecimalFormat(",###").format(c));// 299,792,458
		// 将格式嵌入文本
		System.out.println(new DecimalFormat("光速大小为每秒,###米。").format(c));
	}

}

二、格式化日期  java.text.SimpleDateFormat  具体的格式化字母请参照java API

java.lang.Object
  java.text.Format
      java.text.DateFormat
          java.text.SimpleDateFormat
比较常用的是new  SimpleDateFormat("yyyy-MM-dd").format(new Date());
package newTest;
import java.util.Date;
import java.text.DateFormat;
/**
* 格式化时间类
* DateFormat.FULL = 0
* DateFormat.DEFAULT = 2
* DateFormat.LONG = 1
* DateFormat.MEDIUM = 2
* DateFormat.SHORT = 3
*/

public class TestDateFormat{
    public static void main(String []args){
        Date date = new Date();
        String formatStr;
          
        /** Date类的格式: Sat Apr 16 13:17:29 CST 2006 */
        System.out.println(date);
          
        System.out.println("******************************************");   
        
        /** getDateInstance() */ 
        /** 输出格式: 2006-4-16 */
        formatStr = DateFormat.getDateInstance().format(date);
        System.out.println(formatStr);
        
        /** 输出格式: 2006-4-16 */
        formatStr = DateFormat.getDateInstance(DateFormat.DEFAULT).format(date);
        System.out.println(formatStr);
        
        /** 输出格式: 2006年4月16日 星期六 */
        formatStr = DateFormat.getDateInstance(DateFormat.FULL).format(date);
        System.out.println(formatStr);
        
        /** 输出格式: 2006-4-16 */
        formatStr = DateFormat.getDateInstance(DateFormat.MEDIUM).format(date);
        System.out.println(formatStr);
        
        /** 输出格式: 06-4-16 */
        formatStr = DateFormat.getDateInstance(DateFormat.SHORT).format(date);
        System.out.println(formatStr);
        
        /** 输出格式: 2006-01-01 00:00:00 */
        java.text.DateFormat format1 = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        formatStr = format1.format(new Date());
        System.out.println(formatStr);
        
        /** 输出格式: 2006-01-01 00:00:00 */
        System.out.println((new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss")).format(new Date()));
        
        /** 输出格式: 20060101000000***/
        java.text.DateFormat format2 = new java.text.SimpleDateFormat("yyyyMMddhhmmss");
        formatStr = format2.format(new Date());
        System.out.println(formatStr); 
    }
}   



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值