关于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));
}
}