如何在 Java 中把双精度数四舍五入到小数点后两位数
在上一篇文章中,我们已经通过详细的实例了解了如何在 Java 中使用各种方法将 Array
转换为 ArrayList
。我们将通过不同形式的场景分析来了解更多类型的 Java 使用方法。
在这篇文章中,我们将讨论使用 Java 将一个双精度数四舍五入到小数点后两位的方法。有四种方法可以将一个双精度数四舍五入到小数点后两位,如 Math.round()
、BigDecimal
使用 setScale()
方法、DecimalFormat
和 Apache Common
库。
我们通过实例来讨论每种方式。
使用 Math.round(double*100.0)/100.0
将一个双精度数四舍五入到小数点后两位
在 Java 中,Math.round()
方法用于将一个给定的数字四舍五入到其最近的整数。由于在本文中,我们将学习将一个双精度数四舍五入到小数点后两位,所以 Math.round()
的应用将包括 (double*100.0)/100.0
。
让我们按照下面的例子进行操作。
import java.util.*;
import java.lang.*;
import java.io.*;
public class Main
{
public static void main(String[] args)
{
double d = 7435.9876;
double roundDbl = Math.round(d*100.0)/100.0;
System.out.println("Rounded Double value: "+roundDbl);
}
}
输出:
Rounded Double value: 7435.99
使用 BigDecimal
将一个双精度数舍入到两个小数位上
这样,我们可以先将双精度数转换为 BigDecimal
,然后使用 setScale()
方法将转换后的 BigDecimal
四舍五入到两位小数。让我们来理解下面的例子。
import java.util.*;
import java.lang.*;
import java.io.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Main
{
public static void main(String[] args)
{
double val1 = 4312.186462;
System.out.println("Double value: "+val1);
BigDecimal bd = new BigDecimal(val1).setScale(2, RoundingMode.HALF_UP);
double val2 = bd.doubleValue();
System.out.println("Rounded Double value: "+val2);
}
}
输出:
Double value: 4312.186462
Rounded Double value: 4312.19
使用 DecimalFormat
将一个双精度数四舍五入到小数点后两位
我们也可以使用 DecimalFormat
将双精度数值四舍五入到小数点后两位。让我们在下面的例子中进行讨论。
import java.util.*;
import java.lang.*;
import java.io.*;
import java.text.DecimalFormat;
public class Main
{
public static void main(String[] args)
{
double val1 = 6482.236789;
System.out.println("Double value: "+val1);
DecimalFormat df = new DecimalFormat("###.##");
System.out.println("Rounded Double value (DecimalFormat): "+df.format(val1));
}
}
输出:
Double value: 6482.236789
Rounded Double value: 6482.24
使用 Apache Common
Math 将一个双精度数值四舍五入到两位小数
在 Java 中,有一种特殊的数学库用来将双精度数四舍五入到小数点后两位,它就是 Apache Common
。让我们在下面的例子中讨论它的使用。
我们需要在 Java 项目中的 xml 文件中添加这个库的依赖关系。
<dependency>
<groudId>org.apache.commons</groudId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
现在,让我们检查一下 Apache
库对将双精度数四舍五入到小数点后两位的实现。
import java.util.*;
import java.lang.*;
import java.io.*;
import org.apache.commons.math3.util.Precision;
public class Main
{
public static void main(String[] args)
{
double input = 9476.2351;
double roundedDbl = Precision.round(input,2);
System.out.println("Rounded Double value: "+roundedDbl);
}
}
输出:
Rounded Double value: 9476.24
对于简单的 Java 应用程序,建议遵循前三种方法。
相关文章
Java 中格式化双精度值
发布时间:2023/09/20 浏览次数:76 分类:Java
-
这篇文章将要介绍格式化 Java 中的 double 值。本文介绍了如何在 Java 中格式化双精度类型值。Java 中有多种格式化双精度值的方法,例如 DecimalFormat 类,printf() 方法,format() 方法,String.format() 方
在 Java 中截断 Double
发布时间:2023/09/20 浏览次数:170 分类:Java
-
本文介绍如何在 Java 中截断 double 在本文中,我们将研究如何在 Java 中将数字截断或舍入为 n 个小数点。Java 提供了两种基本类型来存储十进制值,即 double 和 float。
在 Java 中将 Double 转换为浮点数
发布时间:2023/09/20 浏览次数:189 分类:Java
-
本文讨论如何在 Java 中将双精度值转换为浮点数。在本文中,我们将学习如何在 Java 中将双精度值转换为浮点数。Double 和 float 类型用于在 Java 中存储实数或浮点数,但 double 数据类型比 float 更
Java 中的浮点数和 Double 数据类型
发布时间:2023/09/20 浏览次数:148 分类:Java
-
本文重点介绍 Java 中的 float 和 double 数据类型 Float 和 double 数据类型用于在 Java 中存储实数或浮点数,但 double 数据类型比 float 更精确。double 是浮点数的默认数据类型。
在 Java 中比较双精度数
发布时间:2023/09/20 浏览次数:116 分类:Java
-
了解如何在 Java 中比较双精度数。本文将告诉你如何在 Java 中比较双精度数。有一些内置方法可以比较双精度数。本指南中解释了这些方法。
Java 中的双精度
发布时间:2023/09/20 浏览次数:63 分类:Java
-
本文介绍了 double 及其在 Java 中的用法。本文介绍了 double 及其在 Java 中的用法。Double 是 Java 中用于存储浮点值的数据类型。
在 Java 中将 Long 转换为 Double
发布时间:2023/09/20 浏览次数:187 分类:Java
-
本文介绍如何在 Java 中将 long 值转换为 double 值。本文介绍如何在 Java 中将 long 类型转换为 double 类型。在 Java 中,long 和 double 都用于存储数值。long 用于存储非浮点值,而 double 用于存储浮点值
如何在 Java 中将函数作为参数传递
发布时间:2023/09/20 浏览次数:118 分类:Java
-
本文介绍了在 Java 中把一个函数作为参数传递给另一个函数的方法。本文将讨论如何在 Java 中把一个函数作为参数传递给另一个函数。我们将讨论两种不同的方法来传递一个函数作为 Java 中的参