BigDecimal除法使用有效数字

时间:2018-09-20 00:10:35

标签: java significant-digits

我正在使用BigDecimal进行除法。我希望将商数四舍五入为正确的有效数字。

例如

@FunctionalInterface
public interface Task {

    AtomicLong delay = new AtomicLong(0);

    default long getDelay() {
        return delay.get();
    }

    default void setDelay(long milliseconds) {
        delay.set(milliseconds);
    }


    void execute(String... parameters);

    default Runnable wrap(String... parameters) {
        return () -> execute(parameters);
    }
}

以编程方式确定标度以确保商拥有正确数量的有效数字的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

重要数字是情景,不可计算。正如您在评论中提到的那样,您正在执行一个程序来重新计算具有多种成分的溶液的百分比。我建议您转换成分的单位,直到输入中小数点右边没有有效数字,然后进行计算。

为此,您需要知道输入中的单位。因此,如果测试输入的单位是“克”,则首先要转换为毫克(g * 1000)。

因此数字将分别为250和105000;然后进行除法并保留2或3个十进制数字-小于该数字通常在输入没有十进制数字时没有意义。