java - 将BigInteger与BigDecimal进行比较

时间:2015-01-15 12:46:46

标签: java comparison biginteger bigdecimal

我想将BigIntegerBigDecimal进行比较。例如,整数10应等于小数10.0

为什么以下返回false?我从整数中创建一个新的小数,然后比较两位小数。

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

返回true:

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

如何在数学/人类定义(10 == 10.0)中正确比较BigIntegerBigDecimal

1 个答案:

答案 0 :(得分:1)

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

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