迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

如何在 Java 中把双精度数四舍五入到小数点后两位数

作者:迹忆客 最近更新:2023/09/17 浏览次数:

在上一篇文章中,我们已经通过详细的实例了解了如何在 Java 中使用各种方法将 Array 转换为 ArrayList。我们将通过不同形式的场景分析来了解更多类型的 Java 使用方法。

在这篇文章中,我们将讨论使用 Java 将一个双精度数四舍五入到小数点后两位的方法。有四种方法可以将一个双精度数四舍五入到小数点后两位,如 Math.round()BigDecimal 使用 setScale() 方法、DecimalFormatApache 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 应用程序,建议遵循前三种方法。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Java 中延迟几秒钟的时间

发布时间:2023/12/17 浏览次数:217 分类:Java

本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。

如何在 Java 中把 Hashmap 转换为 JSON 对象

发布时间:2023/12/17 浏览次数:187 分类:Java

它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。

如何在 Java 中按值排序 Map

发布时间:2023/12/17 浏览次数:171 分类:Java

本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map 进行排序,并列出了一些示例代码来理解它。

如何在 Java 中打印 HashMap

发布时间:2023/12/17 浏览次数:192 分类:Java

本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。

在 Java 中更新 Hashmap 的值

发布时间:2023/12/17 浏览次数:146 分类:Java

本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。

Java 中的 hashmap 和 map 之间的区别

发布时间:2023/12/17 浏览次数:79 分类:Java

本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,

在 Java 中获取用户主目录

发布时间:2023/12/17 浏览次数:218 分类:Java

这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。

Java 中 size 和 length 的区别

发布时间:2023/12/17 浏览次数:179 分类:Java

这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。

Java 中的互斥锁

发布时间:2023/12/17 浏览次数:111 分类:Java

了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便