【问题标题】:java - compare BigInteger with BigDecimal [duplicate]java - 比较 BigInteger 和 BigDecimal [重复]
【发布时间】:2015-01-15 12:46:45
【问题描述】:

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

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

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

这返回真:

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

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

【问题讨论】:

    标签: java comparison biginteger bigdecimal


    【解决方案1】:

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

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

    【讨论】:

    • @a_horse_with_no_name compareTo != 等于
    猜你喜欢
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 2023-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    • 2011-05-05
    相关资源
    最近更新 更多