Hallo,
ich parse eine Webseite und ziehe mir dann einztelne Werte und schreibe diese in die Datenbank. Hat soweit auch immer funktioniert. Nur kann ich nun keine Werte wie 55,22 im INSERT Befehl als Value übergeben. Der Wert wird zwar in die Datenbank geschrieben - allerdings mit dem Hinweis: Data truncated for column ‚Temperatur‘ at row 1. In die Datenbank wird dann der Wert 55 geschrieben…
Es handelt sich um ein FLOAT Datenbankfeld.
Ich habe nun gedacht ok - dann nutze ich doch diese Funktion und floate den Wert. In der Ausgabe bei IPS-Management Console stelle ich nun fest, dass das Komma nicht durch einen Punkt ersetzt wird. Selbst folgendes Beispiel liefert folgenden Output auf der Console: 19332,35
<?php
function Getfloat($str) {
if(strstr($str, ",")) {
$str = str_replace(".", "", $str); // replace dots (thousand seps) with blancs
$str = str_replace(",", ".", $str); // replace ',' with '.'
}
if(preg_match("#([0-9\.]+)#", $str, $match)) { // search for number that may contain '.'
return floatval($match[0]);
} else {
return floatval($str); // take some last chances with floatval
}
}
echo Getfloat("$ 19.332,35-"); // will print: 19332.35
?>
Habt ihr eine Idee?
Grüße