java格式化

http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

https://www.jianshu.com/p/c8f16cab35e1#

参考官方的 api说明文档,format是一个抽象接口,已知的实现类有DateFormat,MessageFormat,NumberFormat

关于时间的DateFormat,我们一般是直接使用它的子类:SimpleDateFormat,具体的y,m,d,之类的用法可以参考百度

例子如下:获取当前系统的时间并格式化

package test;

import java.text.SimpleDateFormat;
import java.util.Date;
import org.json.JSONArray;
import org.json.JSONObject;

public class test2 {
    public static void main(String[] args) {

        //获取系统当前时间
        long currentTime = System.currentTimeMillis();
        Date date = new Date(currentTime);
        System.out.println(date);
        //进行格式化,获取自己想要的格式
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日HH时mm分");
        System.out.println(dateFormat.format(date));
        
    }
}

 

关于NumberFormat,它的直接实现子类有ChoiceFormat和DecimalFormat,我们一般使用DecimalFormat

package test;

import java.text.DecimalFormat;

public class test5 {
    public static void main(String[] args){
        double pi=3.1415927;//圆周率
        //取一位整数 
        System.out.println(new DecimalFormat("0").format(pi));//3
        //取一位整数和两位小数  
        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)); //光速大小为每秒299,792,458米
    }
}

再举一个例子:比如格式化

 

package test;

import java.text.DecimalFormat;
/*
 *实现格式化,比如1格式化成[001],1001格式化成[001][001],每三位一组
 */
public class test {
    public static void main(String[] args) {
        
        DecimalFormat mFormat = new DecimalFormat("[000]");
        
        String t1 ="1";
        System.out.println(mFormat.format(Integer.parseInt(t1)));
        
        String t2 = "1002";
        String substring2 = t2.substring(t2.length()-3,t2.length());
        String substring1 = t2.substring(0,t2.length()-2);
        System.out.println(mFormat.format(Integer.parseInt(substring1))+mFormat.format(Integer.parseInt(substring2)));

        
    }
}

 

 

posted @ 2019-03-22 20:21  曾聪聪  阅读(526)  评论(0编辑  收藏  举报