您的位置:首页 > 编程语言 > Java开发

Java基础——数据显示处理 DecimalFormat+BigDecimal

2015-11-20 09:56 555 查看
1、保留两位小数,末尾是0仍然显示,不足补0

DecimalFormat df1 = new DecimalFormat("0.00");
System.out.println(df1.format(20.20222));
结果:20.20

DecimalFormat df3 = new DecimalFormat("000.000000");
System.out.println(df3.format(20.20222));
结果:020.202220

2、保留两位小数,如果末尾是0则舍去

DecimalFormat df2 = new DecimalFormat("#.##");
System.out.println(df2.format(20.20222));
结果:20.2

DecimalFormat df4 = new DecimalFormat("###.########");
System.out.println(df4.format(20.20222));
结果:20.20222

3、设置含%

<span style="white-space:pre">	</span>DecimalFormat df5 = new DecimalFormat();
df5.applyPattern("##.##%");
System.out.println(df5.format(20.20222));
结果:2020.22%

4、设置最大位数不超过

DecimalFormat df6 = new DecimalFormat();
df6.setMaximumIntegerDigits(1);
System.out.println(df6.format(20.20222));
结果:0.202

df6.setMinimumIntegerDigits(10);// 设置整数部分最小长度,不够0补
System.out.println(df6.format(20.20222));
结果:0,000,000,020.202

5、设置分组

DecimalFormat df8 = new DecimalFormat();
int number = 123456789;
// 设置三个一组
df8.setGroupingSize(3);
DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance();
// 设置小数字分隔符
dfs.setDecimalSeparator('!');
dfs.setGroupingSeparator('0');
df8.setDecimalFormatSymbols(dfs);
System.out.println(df8.format(2220.20222));
df8.setGroupingUsed(false);
System.out.println(df8.format(2220.20222));


结果:20220!202

            2220!202

6、三位逗号分隔

System.out.println(new DecimalFormat(",###").format(123456789.123456));
System.out.println(new DecimalFormat("这句话是结合文字的,### 元。").format(123456789.123456));
结果:

123,456,789

这句话是结合文字的123,456,789 元。

BigDecimal.setScale()方法用于格式化小数点

setScale(1)表示保留一位小数,默认用四舍五入方式 

setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3 

setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4 

setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4

setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍
点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: