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