[Java]Java关于对数字格式化DecimalFormat的使用

 

关于DecimalFormat数字格式化的基本使用

原文:https://blog.csdn.net/qq_16592085/article/details/78504709 

import java.text.DecimalFormat

//没有带数字格式的实例化
        // DecimalFormat format = new DecimalFormat();
        // format.applyPattern("#");//当实例化没有传递数字格式的时候,使用该方法传入数字格式
        //数字格式的实例化
        DecimalFormat format = new DecimalFormat("#");
        /**
         * java.math.RoundingMode
         * 远离零方向舍入的舍入模式。始终对非零舍弃部分前面的数字加 1。注意,此舍入模式始终不会减少计算值的绝对值。
         * RoundingMode.UP 舍入为一位数1.1-> 2   2.5->3   -1.1->-2
         * 向零方向舍入的舍入模式。从不对舍弃部分前面的数字加 1(即截尾)。注意,此舍入模式始终不会增加计算值的绝对值。
         * RoundingMode.DOWN 舍入为一位数 1.1->1 2.5->2   -1.1->-1
         *  向正无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.UP;如果结果为负,则舍入行为类似于 RoundingMode.DOWN
         *  RoundingMode.CEILING  舍入为一位数 1.1->2   2.5->3   -1.1->-1  -2.5->-2
         *  向负无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于 RoundingMode.DOWN;如果结果为负,则舍入行为类似于RoundingMode.UP
         *  RoundingMode.FLOOR   舍入为一位数 1.1->1   2.5->2   -1.1->-2  -2.5->-3
         *  向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向上舍入。如果被舍弃部分 >= 0.5,则舍入行为同 RoundingMode.UP;否则舍入行为同RoundingMode.DOWN。注意,此舍入模式就是通常学校里讲的四舍五入。
         * RoundingMode.HALF_UP  舍入为一位数 1.1->1   2.5->2   -1.1->-1  -2.5->-3
         * ...
         */
        format.setRoundingMode(RoundingMode.HALF_UP);//设置格式化时的舍入方式
        // public final String format (Object obj) 表示可以传递任意参数
        // public final String format(double number)\
        // public final String format(long number)...
        String result = format.format(123123.123123);//参数表示需要格式化的数字或者数字类型的字符串 result就是格式化后的字

 Java DecimalFormat 用法


importjava.text.DecimalFormat;
  
publicclassTestNumberFormat{
  
  publicstaticvoidmain(String[]args){
    doublepi=3.1415927; //圆周率
    //取一位整数
    System.out.println(newDecimalFormat("0").format(pi));   //3
    //取一位整数和两位小数
    System.out.println(newDecimalFormat("0.00").format(pi)); //3.14
    //取两位整数和三位小数,整数不足部分以0填补。
    System.out.println(new DecimalFormat("00.000").format(pi));// 03.142
    //取所有整数部分
    System.out.println(newDecimalFormat("#").format(pi));   //3
    //以百分比方式计数,并取两位小数
    System.out.println(new DecimalFormat("#.##%").format(pi)); //314.16%
  
    longc=299792458;  //光速
    //显示为科学计数法,并取五位小数
    System.out.println(newDecimalFormat("#.#####E0").format(c)); //2.99792E8
    //显示为两位整数的科学计数法,并取四位小数
    System.out.println(newDecimalFormat("00.####E0").format(c)); //29.9792E7
    //每三位以逗号进行分隔。
    System.out.println(newDecimalFormat(",###").format(c));   //299,792,458
    //将格式嵌入文本
    System.out.println(newDecimalFormat("光速大小为每秒,###米。").format(c));
  }
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值