我想将BigInteger
与BigDecimal
进行比较。例如,整数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)中正确比较BigInteger
和BigDecimal
?
答案 0 :(得分:1)
对于BigInteger和BigDecimal,您应该使用compareTo方法检查它们的值是否相同
System.out.println(new BigDecimal(BigInteger.valueOf(10)).compareTo(BigDecimal.valueOf(10.0)));