爪哇2博客
爪哇2博客

在Java中格式化双精度至2位小数的7种方法

在Java中将双精度格式设置为小数点后两位至2位

在这篇文章中,我们将看到如何格式化双精度到小数点后两位。

有多种格式化方式 双精度到小数点后两位。让 ’s go through them.

使用字符串’s 格式() method

您也可以使用String’s 静态的 method 格式() to print 双精度到小数点后两位. This method is similar to 系统.out.printf.
这是一个例子:

1
2
3
4
5
6
7
8
9
10
11
 
组织.Arpit.爪哇2blog;
 
上市 串FromatformatDouble {
 
    上市 静态的 虚空 主要([] args) {
         d = 2.456534;
        系统..打印(“双精度最多两位小数::”+.格式("%.2f",d));
    }
}
 

输出:

加倍至小数点后两位:2.46

使用System.out.printf

如果要打印两位数到两位小数,这是在控制台上打印两位数到两位小数的最佳方法。
这是一个例子:

1
2
3
4
5
6
7
8
9
10
11
 
组织.Arpit.爪哇2blog;
 
上市 PrintfformatDouble {
 
    上市 静态的 虚空 主要([] args) {
         d = 2.456534;
        系统..打印(“双精度最多两位小数:%。2f”,d);
    }
}
 

输出:

加倍至小数点后两位:2.46

使用格式化程序

您可以使用爪哇.util.Formatter’s 格式() method to 格式 双精度到小数点后两位. This is similar to 系统.out.printf method.
这是一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
组织.Arpit.爪哇2blog;
 
进口 爪哇.实用程序.格式化程序;
 
上市 格式化程序formatDouble {
 
    上市 静态的 虚空 主要([] args) {
         d = 2.456534;
 
        格式化程序 格式化程序 = 格式化程序();
        格式化程序.格式("%.2f", d);
        系统..打印(“双精度最多两位小数::” + 格式化程序.toString());
    }
}
 

输出:

加倍至小数点后两位:2.46

使用BigDecimal

您可以将double转换为 大十进制 和使用大十进制’s setScale() method to 格式 双精度到小数点后两位 您可以使用舍入模式 指定舍入行为。
这是一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
组织.Arpit.爪哇2blog;
 
进口 爪哇.数学.大十进制;
进口 爪哇.数学.舍入模式;
进口 爪哇.文本.小数格式;
 
上市 大十进制formatDouble {
    上市 静态的 虚空 主要([] args) {
 
         d = 2.456534;
        大十进制 d = 大十进制(d).setScale(2,舍入模式.HALF_DOWN);
        系统..打印(“双精度最多两位小数::”+d .双Value());
 
        // 您可以使用RoundingMode to 回合 双 Up or Down
        大十进制 d Down= 大十进制(d).setScale(2,舍入模式.);
        系统..打印("加倍至小数点后两位- 舍入模式.DOWN: "+d Down.双Value());
 
        大十进制 d Up= 大十进制(d).setScale(2,舍入模式.向上);
        系统..打印("加倍至小数点后两位- 舍入模式.UP: "+d Up.双Value());
    }
}
 

输出:

加倍至小数点后两位:2.46
加倍至小数点后两位–RoundingMode.DOWN:2.45
加倍至小数点后两位–RoundingMode.UP:2.46

使用DecimalFormat

小数格式 can be used by providing 格式ting Pattern to 格式 双精度到小数点后两位. 您可以使用舍入模式 指定舍入行为。
这是一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
组织.Arpit.爪哇2blog;
 
进口 爪哇.数学.舍入模式;
进口 爪哇.文本.小数格式;
 
上市 小数格式formatDouble {
    上市 静态的 虚空 主要([] args) {
 
        小数格式 df= 小数格式(“#。##”);
 
         d = 2.456534;
        系统..打印(“双精度最多两位小数::”+df.格式(d));
 
        // 您可以使用RoundingMode to 回合 双 Up or Down
        df.setRoundingMode(舍入模式.);
        系统..打印("加倍至小数点后两位- 舍入模式.DOWN: "+df.格式(d));
 
        df.setRoundingMode(舍入模式.向上);
        系统..打印("加倍至小数点后两位- 舍入模式.UP: "+df.格式(d));
    }
}
 

输出:

加倍至小数点后两位:2.46
加倍至小数点后两位–RoundingMode.DOWN:2.45
加倍至小数点后两位–RoundingMode.UP:2.46

使用NumberFormat

您也可以使用数字格式’s setMaximumFractionDigits() to put constraint on number by decimal places 和使用its 格式() method to 格式 双精度到小数点后两位.
这是一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
组织.Arpit.爪哇2blog;
 
进口 爪哇.文本.数字格式;
进口 爪哇.实用程序.格式化程序;
 
上市 数字格式formatDouble {
 
    上市 静态的 虚空 主要([] args) {
         d1 = 2.009;
         d2 = 2.979;
 
        数字格式 nf= 数字格式.getInstance();
        nf.setMaximumFractionDigits(2);
 
        系统..打印(“双精度d1最多保留两位小数:” +nf.格式(d1));
        系统..打印(“ 双 d2最多保留小数点后2位:” +nf.格式(d2));
 
    }
}
 

输出:

双倍d1(最多2个小数位):2.01
双倍d2(最多2个小数位):2.98

使用Apache公共库

您可以使用精确’s 回合() method to 格式 双精度到小数点后两位. 精确 类 belongs to Apache common’s common-math3 library.
Add the following 依赖 to pom.xml.

XHTML
1
2
3
4
5
6
7
 
<dependency>
    <groupId>组织.apache.commons</groupId>
    <artifactId>Commons-Math3</artifactId>
    <version>3.6.1</version>
</dependency>
 

您可以在以下位置找到Commons-math的版本 这里.
这是一个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
 
组织.Arpit.爪哇2blog;
 
进口 组织.阿帕奇.公地.数学3.实用程序.精确;
 
上市 ApacheCommonPrecisionMain {
 
    上市 静态的 虚空 主要([] args) {
         d= 2.456534;
        系统..打印(“双精度最多两位小数::” + 精确.回合(d,2));
    }
}
 

输出:

加倍至小数点后两位:2.46

那’关于如何将双精度格式设置为两位小数位

分享这个

作者

关注作者

相关文章

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


成为朋友

©2020 爪哇2博客