Heim >Backend-Entwicklung >PHP-Problem >PHP-Gleitkommazahl-Float-Operation-Übertragungsproblem in int
PHP-Gleitkommazahl-Float-Operation wird in Ganzzahl konvertiert: Bei Ganzzahlen oder Gleitkommazahlen, deren Ergebnisse nach Operationen Ganzzahlen sind, kann PHP sie als Ganzzahlen behandeln. intval(round (floatval($value) * 100))].
PHP-Gleitkommazahl-Float-Operation zum Ganzzahltyp int:
Führen Sie diesen Code aus:
$f = 0.58; var_dump(intval($f * 100.0));
Vielleicht denken Sie, dass er 58 ausgibt, aber tatsächlich gibt er 57 aus.
Der Grund dafür ist, dass als Gleitkommadaten ein Teil ihrer Genauigkeit verloren gegangen ist und sie nicht vollständig genau sein können. Vertrauen Sie also niemals darauf, dass das Ergebnis einer Gleitkommazahl bis zur letzten Ziffer genau ist, und vergleichen Sie niemals zwei Gleitkommazahlen auf Gleichheit.
Gleitkommazahlen in PHP sind schwach typisiert. Bei Ganzzahlen oder Gleitkommazahlen, deren Ergebnis nach der Operation eine Ganzzahl ist, kann PHP sie als Ganzzahlen behandeln, der Typ bleibt jedoch unverändert. Wenn es sich jedoch nach der Operation nicht um eine Ganzzahl handelt, behandelt PHP das Ergebnis als strikte Gleitkommazahl
In der tatsächlichen Entwicklung können wir die folgende Logik verwenden, um diese Situation zu lösen
intval(round(floatval($value) * 100));
Verwandte Lernempfehlungen: PHP-Programmierung vom Einstieg bis zur Beherrschung
Das obige ist der detaillierte Inhalt vonPHP-Gleitkommazahl-Float-Operation-Übertragungsproblem in int. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!