Hallo!
Ich habe ein kleines Problem. Und zwar vergleiche ich in einem PHP Script einen berechneten Wert(FLOAT) mit einem $_POST Wert(STRING).
Berechneter Wert wird aus 2 Strings(da aus DB) berechnet, z.B.:
// $_POST['wert'] = '0.28'
$wert1 = '0.2900000000'; // STRING
$wert2 = '0.0100000000'; // STRING
$berechneter_wert = $wert1 - $wert2; // PHP konvertiert nach FLOAT
if($berechneter_wert < $_POST['wert']) {
var_dump($berechneter_wert); // ergibt: float(0.28)
var_dump($_POST['wert']); // ergibt: string(4) "0.28"
}
In diesem Fall erwartete ich eigentlich, dass die If-Abfrage scheitert, da 0.28 == 0.28 und nicht 0.28 < 0.28. Aber FLOAT scheint mir da einen Strich durch die Rechnung zu machen. Und im Augenblick habe ich keine Ahnung was ich dagegen machen soll. Ich denke das liegt an den vielen Nachkommastellen der Strings aus der DB, aber die brauche ich eigentlich, da ich manchmal 10 Nachkommastellen brauche.
Was könnte ich hier machen? Oder vielleicht die Nullen am Ende abschneiden? Wie am besten? Ich wüßte jetzt nur mit einem regulären Ausdruck, geht das auch ohne?
Viele Grüße
Andreas