在这篇文章中,我们将看到如何格式化双精度到小数点后两位。
有多种格式化方式 双精度到小数点后两位。让’s go through them.
目录
使用字符串’s format() method
您也可以使用String’s 静态的 method 格式()
to print 双精度到小数点后两位. This method is similar to 系统.out.printf
.
Here is an example:
1 2 3 4 5 6 7 8 9 10 11 | 包 组织.Arpit.爪哇2blog; 上市 班级 串FromatformatDouble { 上市 静态的 虚空 主要的(串[] args) { 双 d = 2.456534; 系统.出去.打印(“双精度最多两位小数::”+串.格式("%.2f",d)); } } |
输出:
使用System.out.printf
如果要打印两位数到两位小数,这是在控制台上打印两位数到两位小数的最佳方法。
Here is an example:
1 2 3 4 5 6 7 8 9 10 11 | 包 组织.Arpit.爪哇2blog; 上市 班级 PrintfformatDouble { 上市 静态的 虚空 主要的(串[] args) { 双 d = 2.456534; 系统.出去.打印(“双精度最多两位小数:%。2f”,d); } } |
输出:
使用格式化程序
您可以使用爪哇.util.Formatter
’s 格式()
method to format 双精度到小数点后两位. This is similar to 系统.out.printf
method.
Here is an example:
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()); } } |
输出:
使用BigDecimal
您可以将double转换为 大十进制 and use 大十进制
’s setScale()
method to format 双精度到小数点后两位 You can use 舍入模式 指定舍入行为。
Here is an example:
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向上或向下四舍五入 大十进制 d Down=新的 大十进制(d).setScale(2,舍入模式.下); 系统.出去.打印("加倍至小数点后两位- RoundingMode.DOWN: "+d Down.双Value()); 大十进制 d Up=新的 大十进制(d).setScale(2,舍入模式.向上); 系统.出去.打印("加倍至小数点后两位- RoundingMode.UP: "+d Up.双Value()); } } |
输出:
加倍至小数点后两位–RoundingMode.DOWN:2.45
加倍至小数点后两位–RoundingMode.UP:2.46
使用DecimalFormat
小数格式 可以通过提供格式化模式来使用,以格式化双精度到2个小数位。您可以使用 舍入模式 指定舍入行为。
Here is an example:
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向上或向下四舍五入 df.setRoundingMode(舍入模式.下); 系统.出去.打印("加倍至小数点后两位- RoundingMode.DOWN: "+df.格式(d)); df.setRoundingMode(舍入模式.向上); 系统.出去.打印("加倍至小数点后两位- RoundingMode.UP: "+df.格式(d)); } } |
输出:
加倍至小数点后两位–RoundingMode.DOWN:2.45
加倍至小数点后两位–RoundingMode.UP:2.46
使用NumberFormat
您也可以使用数字格式
’s setMaximumFractionDigits()
to put constraint on number by decimal places and use its 格式()
method to format 双精度到小数点后两位.
Here is an example:
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)); 系统.出去.打印(“ Double d2最多保留小数点后2位:” +nf.格式(d2)); } } |
输出:
双倍d2(最多2个小数位):2.98
使用Apache公共库
您可以使用精确
’s 回合()
method to format 双精度到小数点后两位. 精确
班级 belongs to Apache common’s common-math3
library.
Add the following dependency to pom.xml
.
1 2 3 4 5 6 7 | <dependency> <groupId>组织.apache.commons</groupId> <artifactId>Commons-Math3</artifactId> <version>3.6.1</version> </dependency> |
您可以在以下位置找到Commons-math的版本 这里.
Here is an example:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 包 组织.Arpit.爪哇2blog; 进口 组织.阿帕奇.公地.数学3.实用程序.精确; 上市 班级 ApacheCommonPrecisionMain { 上市 静态的 虚空 主要的(串[] args) { 双倍的 d= 2.456534; 系统.出去.打印(“双精度最多两位小数::” + 精确.回合(d,2)); } } |
输出:
那’关于如何将双精度格式设置为两位小数位