21xrx.com
2025-03-29 04:30:55 Saturday
文章检索 我的文章 写文章
Java如何保留并四舍五入小数到两位?
2023-06-15 15:27:21 深夜i     18     0
Java 小数 保留两位 四舍五入 DecimalFormat BigDecimal Math

在Java程序设计中,处理小数时经常会遇到需要保留小数点后若干位的需求。而其中保留两位小数并四舍五入是最为常见的需求之一。本文将介绍几种实现方法。

方法一:使用DecimalFormat类

通过DecimalFormat类的format方法,可以保留小数点后指定位数并进行四舍五入。具体实现如下:

double num = 6.7890123;
DecimalFormat df = new DecimalFormat("#.00");
String result = df.format(num);
System.out.println(result);

输出结果为:6.79

方法二:使用BigDecimal类

BigDecimal类可以更加精确地处理小数,通过setScale方法设置小数点后保留位数并设置四舍五入模式即可实现需求。

double num = 6.7890123;
BigDecimal bd = new BigDecimal(num);
double result = bd.setScale(2, RoundingMode.HALF_UP).doubleValue();
System.out.println(result);

输出结果为:6.79

方法三:使用Math类

Math类中提供了round方法,可以将double类型的小数四舍五入为整数。通过将小数乘以相应的倍数进行四舍五入后再除以倍数,即可实现保留小数点后指定位数的需求。

double num = 6.7890123;
double factor = Math.pow(10, 2);
double result = Math.round(num*factor) / factor;
System.out.println(result);

输出结果为:6.79

  
  

评论区