DecimalFormat基本用法简介说明
下文笔者讲述java中常见的DecimalFormat对象的功能及示例简介说明,如下所示
DecimalFormat对象的功能
DecimalFormat是NumberFormat中的一个子类
DecimalFormat的功能:
用于格式化十进制数字
下文笔者将采用示例的方式,讲述具体的实现方式
1.保留两位小数(截断)
double num = 87.362;
DecimalFormat df = new DecimalFormat("#.##");
//指定RoundingMode
df.setRoundingMode(RoundingMode.DOWN);
String str = df.format(num);
double formatNum = Double.parseDouble(str);
System.out.println(formatNum);
2.保留两位小数(四舍五入)
double num = 87.362;
DecimalFormat df = new DecimalFormat("#.##");
//指定RoundingMode
df.setRoundingMode(RoundingMode.HALF_UP);
String str = df.format(num);
double formatNum = Double.parseDouble(str);
System.out.println(formatNum);
3.常用RoundingMode
HALF_EVEN: DecimalFormat默认RoundingMode为RoundingMode.HALF_EVEN 也称为“银行家舍入法” 主要在美国使用 四舍六入,五分向相邻的偶数舍入
HALF_UP:四舍五入 HALF_DOWN:五舍六入 2.5 —>2 2.6 —>3 DOWN:直接截断 UP:始终对非零舍弃部分前面的数字加 1
4.占位符
0表示数字占位符,实际位数不够时补零
比实际数字的位数多,不足的地方用0补上
new DecimalFormat(“00.00”).format(8.24) //结果:08.24
new DecimalFormat(“0.000”).format(8.24) //结果: 8.240
new DecimalFormat(“00.000”).format(8.24) //结果:08.240
整数部分比实际数字的位数少,整数部分不改动
小数部分比实际数字的位数少,根据小数部分占位符数量保留小数
new DecimalFormat(“0.000”).format(18.246) //结果:18.246
new DecimalFormat(“00.00”).format(18.246) //结果:13.15
new DecimalFormat(“0.00”).format(18.246) //结果:13.15
#表示数字占位符,实际位数不够时不补零
比实际数字的位数多,不变
new DecimalFormat("##.##").format(8.24) //结果:8.24
new DecimalFormat("#.###").format(8.24) //结果: 8.24
new DecimalFormat("##.###").format(8.24) //结果:8.24
整数部分比实际数字的位数少,整数部分不改动
小数部分比实际数字的位数少,根据小数部分占位符数量保留小数
new DecimalFormat("#.###").format(18.246) //结果:18.246
new DecimalFormat("##.##").format(18.246) //结果:13.15
new DecimalFormat("#.##").format(18.246) //结果:13.15
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


