Mailinglisten-Archive | 
Hallo Norbert,
das sieht mir ganz nach dem üblichen Gleitkommafehler aus.
Hier mal ein Beispiel dafür:
<?php
	$a=doubleval('1.111111')+doubleval('2.222222');
	$b=doubleval('3.333333');
	
	echo '$a==$b: ';
	if ($a==$b) {
		echo 'true';
	} else {
		echo 'false';
	}
	echo "<br>\n";
	echo '"$a"=="$b": ';
	if ("$a"=="$b") {
		echo 'true';
	} else {
		echo 'false';
	}
	echo "<br>\n";
?>
Das kommt daher das Gleitkommazahlen als Brüche verwaltet werden und die
Darstellung (also z.B. durch Umwandlung in einen String) durch Rundung vom
konkreten internen Wert abweicht.
Generell kann ich jedem Informatiker empfehlen sich mit Numerik zu
beschäftigen. Das Hilft oft merkwürdige Phänomene wie sowas zu vermeiden.
Viele Grüße,
Andreas Müller
PS: Und dann doch ein ruhiges Wochenende ohne grübeln :-)
    php::bar PHP Wiki - Listenarchive