DecimalFormat的基础使用

/ 0评 / 0

开发过程中,通常会遇到一个问题:我们需要将一个数值转换为格式化的数值,比:3.145678保留两位有效数字,这个时候我们就需要使用DecimalFormat了。

基础使用

DecimalFormat的基础使用是几个占位符,一般来说,我们只需要使用0和#即可满足日常大多数场景

如下例子说明

new DecimalFormat("00.00").format(3.14567);//结果:03.15
new DecimalFormat("0.000").format(3.14);//结果:3.140
new DecimalFormat("00.000").format(3.14);//结果:03.140

new DecimalFormat("00.00").format(13.14567);//结果:13.15
new DecimalFormat("0.000").format(13.14567);//结果:13.146
new DecimalFormat("0.00").format(13.14567);//结果:13.15

使用0占位符的时候:

1、 比实际数字的位数多,不足的地方用0补上。

2、 比实际数字的位数少:整数部分不改动,小数部分,四舍五入(其实并不是四舍五入,而是默认的RoundingMode.HALF_EVEN方式,下面会讲到DecimalFormat的舍入方式)

new DecimalFormat("##.##").format(3.14567);//结果:3.15
new DecimalFormat("#.###").format(3.14);//结果:3.14
new DecimalFormat("##.###").format(3.14);//结果:3.14

new DecimalFormat("#.###").format(13.145678);//结果:13.146
new DecimalFormat("##.##").format(13.14567);//结果:13.15
new DecimalFormat("#.##").format(13.14567);//结果:13.15

使用#占位符的时候:

1、 比实际数字的位数多,不变。

2、 比实际数字的位数少:整数部分不改动,小数部分,四舍五入(其实并不是四舍五入,而是默认的RoundingMode.HALF_EVEN方式,下面会讲到DecimalFormat的舍入方式)。

这个地方有一个需要注意的地方,#不会保留多余的0

new DecimalFormat("00.00").format(00.100);//00.10
new DecimalFormat("##.##").format(00.100);//0.1

参考链接:https://www.jianshu.com/p/c1dec1796062

 

发表评论

您的电子邮箱地址不会被公开。