Ответов: 6 Просмотров: 245
|
Столкнулся с такой проблемой, для бухгалтерского документа вычисляется сумма НДС.
Высушил код до минимума, чтобы было понятно, в чем разница:
CODE ( text):
скопировать код в буфер обмена
<?php $price = 7732.35; $nds = 0.18; $qnty = 25; $total_1 = round($price*$nds*$qnty, 2); $total_2 = round($price*$qnty*$nds, 2); echo 'total1:'.$total_1.' <br> total2:'.$total_2; ?>
Получаем на выходе:
total1: 34 795,58
total2: 34 795,57
Мне казалось, что от перемены мест множителей произведение не должно меняться.
И что сначала должно все перемножиться, а потом округлиться.
Это у round (number_format так же себя ведет) такой алгоритм, что ему лучше скармливать уже конкретное число, или я где-то туплю?? |