java bigdecimal赋值和浮点数比较

avatar
作者
筋斗云
阅读量:0

在Java中,使用BigDecimal来表示精确的十进制数值,避免浮点数计算时的精度丢失问题。当需要将浮点数赋值给BigDecimal时,可以使用BigDecimal的构造方法或者valueOf方法来实现。

下面是一些示例代码来演示BigDecimal赋值和浮点数比较的情况:

import java.math.BigDecimal;  public class Main {     public static void main(String[] args) {         // 使用BigDecimal的构造方法赋值         BigDecimal bd1 = new BigDecimal(0.1);         System.out.println("bd1: " + bd1);          // 使用BigDecimal的valueOf方法赋值         BigDecimal bd2 = BigDecimal.valueOf(0.1);         System.out.println("bd2: " + bd2);          // 比较BigDecimal和浮点数的大小         double num1 = 0.1;         BigDecimal bd3 = new BigDecimal(0.1);          if (bd3.compareTo(BigDecimal.valueOf(num1)) == 0) {             System.out.println("bd3 is equal to num1");         } else {             System.out.println("bd3 is not equal to num1");         }     } } 

在上面的代码中,我们首先分别使用BigDecimal的构造方法和valueOf方法将浮点数0.1赋值给BigDecimal对象,然后比较BigDecimal对象和浮点数的大小,可以看到它们是相等的。

总的来说,在Java中使用BigDecimal来表示精确的十进制数值,可以避免浮点数计算时的精度丢失问题,并且可以方便地进行大小比较操作。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!