java格式化

博客参考官方API说明文档,介绍了Java中Format抽象接口及其已知实现类,如DateFormat、MessageFormat、NumberFormat。还提及DateFormat常用子类SimpleDateFormat,NumberFormat常用子类DecimalFormat,并给出获取当前系统时间格式化等例子。

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)));

        
    }
}

 

 

转载于:https://www.cnblogs.com/zengcongcong/p/10580758.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值