Похоже, что вычитание вызывает какую-то проблему, и результирующее значение неверно.
double tempCommission = targetPremium.doubleValue()*rate.doubleValue()/100d;
78,75 = 787,5 * 10,0/100d
double netToCompany = targetPremium.doubleValue() - tempCommission;
708,75 = 787,5 - 78,75
double dCommission = request.getPremium().doubleValue() - netToCompany;
877.8499999999999 = 1586,6 - 708,75
Итоговое ожидаемое значение будет 877.85.
Что нужно сделать для правильного расчета?