21xrx.com
2024-09-17 03:33:24 Tuesday
登录
文章检索 我的文章 写文章
Java如何保留并四舍五入小数到两位?
2023-06-15 15:27:21 深夜i     --     --
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

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复