У меня есть простая задача PHP, чтобы суммировать цифры всех чисел.Число с плавающей точкой и нулевое сравнение
$number = 345;
$digit = $number;
$sum = 0;
while ($number > 0) {
$digit = $number % 10;
$sum += $digit;
$number /= 10;
}
Это решение даст правильный результат. Тем не менее, я знаю, что он войдет в цикл больше, чем three times. И в итоге он станет равным нулю.
Почему это происходит? В какое время поплавки становятся равными нулю? Просто следуя математическим принципам, это будет бесконечный цикл, верно? И поскольку есть более 3, 4 и 5 цифр, как конечный результат не больше 12 (даже для этой небольшой суммы).
P.S. Я знаю, что я должен решить это, округляя значение $number
, но я просто любопытно о плавающих и его поведении.