Einzelnen Beitrag anzeigen
  #1  
Alt 29.11.2007, 12:35:46
Webbing Webbing ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 17
intval 'berechnet' falsch !!!

Hallo,

leider weiß ich nicht mehr weiter.

Bei der 'Umwandlung' einer Zahl in einen Integer ist manchmal das Ergebnis um '1' zu klein.

PHP-Code:
for($i 511.84$i 511.88$i += .01) {
    echo(
$i.' - '.($i*100).' - '.(doubleval($i)*100).' - '.(intval(doubleval($i)*100)).'<br>');

Das ergibt die Ausgabe:

511.84 - 51184 - 51184 - 51184
511.85 - 51185 - 51185 - 51185
511.86 - 51186 - 51186 - 51185
511.87 - 51187 - 51187 - 51186
511.88 - 51188 - 51188 - 51187


Warum inkrementiert intval ab 51186 ?

Die Berechnung 'intval(doubleval($i)*100)' benutze ich in einem Web und habe hier zum Testen nur mal eine Schleifen darum gesetzt.

Entferne ich doubleval, so ist der Fehler immer noch drin.
Entferne ich intval, so werden die Zahlen korrekt angezeigt.


Viele Grüße
Frank
Mit Zitat antworten