Hanjo: float variable fommt nur mit vorkommastellen in MySQL-Table

Beitrag lesen

99,99 wird als 99 interpretiert, da die Zahl für MySQL dort aufhört,
wo das erste "nicht-Zahl-Zeichen" kommt (in diesem Fall: ','). Eine
Zahl wird (wie üblich) mit Punkt (.) als Dezimaltrennzeichen
geschrieben.
Damit wird es wohl funktionieren.

Moin auch,

gut, danke.
Aber wie erreiche ich das ?
Ich gebe oben:
$versD = 99.99;

Also mit '.'

Dann
 $insert = "INSERT INTO B_Bestell (Artikel,Kunde,Anzahl,Bemerkung, eingegeben,inip, Porto) VALUES (1,'".$kdnr."','".$inarray_['Anzahl']."','".$inarray_['Comments']."','".$datum."','".$remote_url."','$versD')";

Und da macht er selber einfach die '99,99' draus.

Und wie verhindere ich das ?

Kann es evtl. an dieser Funktion liegen:
---------
function rech_betr($betr)
{
if !(strstr($betr,"."))
$betr .= ".0";

$plen = strlen($betr);

$betr2 = str_pad($betr,$plen + 1,"0");
$varray = array ("." => ",");

$betr3 = strtr($betr2,$varray);

return $betr3;

}
--------
Die wird weiter oben mit rech_betr($versD) aufgerufen.
Sie soll für die nötigen Nachkommastellen sorgen, falls die nicht da sind, damit immer ein 'richtiger' Euro-Betrag rauskommt. Also z.B 2.00 oder 2.50 usw.

Gruß

Hanjo