#java #bigdecimal
#java #bigdecimal
Вопрос:
При использовании BigDecimal я получаю неправильное ожидаемое значение. Я знаю, что это связано с порядком операций и тем, как java его читает, но я не уверен, как это исправить. Ожидаемый результат = 5.1
length = 2.4
width = 1
effectivedepth = 1.5
Using brackets
// (length * effectivedepth) (width * effectivedepth) = Surfacearea50perDepth
//(2.4 * 1.5) (1 * 1.5) = 5.1
surfacearea50perDepth = length.multiply(effectivedepth.add(width.multiply(effectivedepth)));
Output = 7.2
thanks in advance
Комментарии:
1. Что вы пытались отладить проблему? Можете ли вы поделиться рабочим кодом, чтобы другие могли воспроизвести вашу ситуацию?
2. Привет, Нико, я обошел проблему, убрав общий коэффициент (эффективную глубину) и поместив его за скобки
Ответ №1:
Решаемая, помещенная эффективная глубина вне скобки .. эффективная глубина (ширина длина) = SA
surfacearea50perDepth = effectivedepth.multiply(width.add(length));