【问题标题】:Division in Android Gone Wrong Value [duplicate]Android中的除法错误值[重复]
【发布时间】:2021-06-10 11:41:10
【问题描述】:

当我将大数除以小数时,除法是正确的,但是当我将小数除以大数时,答案返回错误。在我的场景中,小数字永远是第一位的。这是我的代码,此代码返回 7.4074074074074075E-6 但正确的结果是 0.0000074074。

    double itf = 0.0;
    double a = 4.0;
    double b = 540000;
    itf = a / b;
    Log.i(TAG, "savedata: outputvalue=" + itf);

【问题讨论】:

标签: java android calculator calculation integer-division


【解决方案1】:
BigDecimal a = new BigDecimal("4");
BigDecimal b = new BigDecimal("540000");

// 0.0000074074
a.divide(b, MathContext.DECIMAL128);

您应该使用十进制类型。 double 不在支持范围内

【讨论】:

    猜你喜欢
    • 2019-05-31
    • 1970-01-01
    • 2013-12-24
    • 2015-06-20
    • 2019-01-05
    • 2010-12-25
    • 2012-06-28
    • 2017-05-21
    • 1970-01-01
    相关资源
    最近更新 更多