Skip to Content
PHP 5 Kochbuch, Third Edition
book

PHP 5 Kochbuch, Third Edition

by David Sklar, Adam Trachtenberg, Carsten Lucke, Matthias Brusdeylins, Ulrich Speidel, Stephan Schmidt
September 2009
Intermediate to advanced content levelIntermediate to advanced
912 pages
48h 11m
German
O'Reilly Verlag
Content preview from PHP 5 Kochbuch, Third Edition

2.2 Fließkommazahlen vergleichen

Problem

Sie möchten prüfen, ob zwei Fließkommazahlen gleich sind.

Lösung

Benutzen Sie einen kleinen Delta-Wert und überprüfen Sie, ob die Zahlen innerhalb dieses Deltas gleich sind:

$delta = 0.00001;

$a = 1.00000001;
$b = 1.00000000;

if (abs($a - $b) < $delta) { /* $a und $b sind gleich */ }

Diskussion

Fließkommazahlen werden in binärer Form gespeichert, wobei es für Mantissen und Exponenten nur jeweils eine endliche Anzahl von Bits gibt. Sie bekommen einen Overflow-Fehler, wenn diese Bits überschritten werden. Als Folge davon glaubt PHP manchmal nicht (wie andere Programmiersprachen auch), dass zwei gleiche Zahlen wirklich gleich sind, da sie sich vielleicht ganz am Ende unterscheiden.

Um dieses Problem zu vermeiden, ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

PHP programmieren unter Windows

PHP programmieren unter Windows

Arno Hollosi

Publisher Resources

ISBN: 9783868993271Purchase book