2016-11-11 4 views
0

Ich habe eine einfache PHP-Aufgabe, um alle Ziffern der Zahl zu summieren.Float-Nummer und Null Vergleich

$number = 345; 
$digit = $number; 
$sum = 0; 

while ($number > 0) { 
    $digit = $number % 10; 
    $sum += $digit; 

    $number /= 10; 
} 

Diese Lösung würde korrekte Ergebnisse liefern. Ich bin mir jedoch bewusst, dass es Schleife mehr als three times eingeben wird. Und irgendwann wird es gleich Null.

Warum passiert das? Zu welcher Zeit werden Schwimmer zu Null? Nur wenn man den mathematischen Prinzipien folgt, wäre das eine Endlosschleife, oder? Und da es mehr als 3, 4 und 5 Ziffern gibt, ist das Endergebnis nicht größer als 12 (selbst für diese kleine Menge).

P.S. Ich weiß, dass ich dies zum Beispiel durch Runden von $number Wert lösen sollte, aber ich bin nur neugierig auf Floats und sein Verhalten.

Antwort

Verwandte Themen