java - 比较 BigInteger 和 BigDecimal

java - compare BigInteger with BigDecimal

我想比较 BigIntegerBigDecimal。例如,整数 10 应该等于小数 10.0.

为什么下面的 return 是错误的?我正在从整数创建一个新的小数,然后比较两个小数。

System.out.println(new BigDecimal(BigInteger.valueOf(10)).equals(BigDecimal.valueOf(10.0)));

这 return 是正确的:

System.out.println(new BigDecimal(BigInteger.valueOf(10)).equals(BigDecimal.valueOf(10)));

如何在 mathematical/human 定义 (10 == 10.0) 中正确比较 BigIntegerBigDecimal

对于 BigInteger 和 BigDecimal,您应该使用 compareTo 方法来检查它们的值是否相同

System.out.println(new BigDecimal(BigInteger.valueOf(10)).compareTo(BigDecimal.valueOf(10.0)));