Hallo, gerade bin ich auf ein für mich sehr merkwürdiges verhalten von PHP beim Type-Casting von float zu integer gestoßen:
Dieser Code liefert bei mir folgende Ausgabe:
float(6.77)
float(0.77)
float(77)
int(76)
float(76)
Was mich hier wundert, ist, dass es, wenn ich die Zahl 77 von Float in Integer umwandle, 76 ergibt. Kann mir das bitte jemand erklären?
PHP-Code:
<?php
$summe = 6.77;
var_dump($summe);
$summe = $summe - floor($summe);
var_dump($summe);
$summe *= 100;
var_dump($summe);
$summe = (int)$summe;
var_dump($summe);
$summe = (float)$summe;
var_dump($summe);
?>
float(6.77)
float(0.77)
float(77)
int(76)
float(76)
Was mich hier wundert, ist, dass es, wenn ich die Zahl 77 von Float in Integer umwandle, 76 ergibt. Kann mir das bitte jemand erklären?
Kommentar