问题描述
当我将大数除以小数时,除法是正确的,但是当我写小数除以大数时,答案返回错误。在我的场景中,小数永远是第一位的。这是我的代码此代码返回 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);
解决方法
BigDecimal a = new BigDecimal("4");
BigDecimal b = new BigDecimal("540000");
// 0.0000074074
a.divide(b,MathContext.DECIMAL128);
您应该使用十进制类型。 double 不在支持范围内