Я пытаюсь сделать некоторые расчеты по получению общего количества баллов, использованных в запрашиваемой сумме денег, на основе суммы за баллы.
Пожалуйста, обратитесь к следующему коду:
<?php
$amount_perpoints = bcdiv(622.9106666666667,1,2); // AMOUNT OF MONEY PER POINTS
$request_amount = 3114.55; //REQUESTED AMOUNT OF POINTS
$points = 0; // THIS WILL CONTAIN THE TOTAL POINTS
$total_amount = 0; // THIS WILL INCREMENT ACCORDING TO THE PRODUCT OF THE CURRENT POINT AND AMOUNT PER POINTS
while($total_amount < $request_amount){
$points = $points+0.50; //POINTS INCREMENTING BY 0.5
$total_amount = $points * $amount_perpoints;
}
echo $points;
?>
Вывод: 5.50
Выше сценария выводится 5.50
, но я считаю, что это должно быть только 5.00
. В 5.00
точках итерации $total_amount
и $request_amount
уже имеют одинаковое значение 3114.55
. Почему в то время как l oop все еще удовлетворяет, даже два значения сравниваемых переменных не меньше, НО РАВНО?