Mierscheid
Grünschnabel
Hallo Leute,
die User-Eingabe soll bereinigt werden, so dass am Ende eine verwertbare Zahl rauskommt. Soweit hat das auch geklappt, nur ein Problem ist dabei: Wenn ein Scherzkeks etwas wie "10,123,4545,2", also mehrere Kommata, eingibt, gibt es Warnungen.
Mein verzweifelter Gedanke war, dass ich auch alle Kommata entferne und an der dritten Stelle von hinten ein Komma einfüge, bevor die Zahl zum rechnen konvertiert wird. Nur... wenn jemand keinen Wert mit Komma eingibt, z.B. "100", dann würde darauf ja "1,00". Ist also auch nicht zweckdienlich.
Sorry, falls diese Newbie-Frage unter jeder Würde ist und ich die Antwort in der Dokumentation nicht finde – nicht zuletzt, weil ich vielleicht auch die falsche Frage stelle.
Viele Grüße
Michael
die User-Eingabe soll bereinigt werden, so dass am Ende eine verwertbare Zahl rauskommt. Soweit hat das auch geklappt, nur ein Problem ist dabei: Wenn ein Scherzkeks etwas wie "10,123,4545,2", also mehrere Kommata, eingibt, gibt es Warnungen.
Mein verzweifelter Gedanke war, dass ich auch alle Kommata entferne und an der dritten Stelle von hinten ein Komma einfüge, bevor die Zahl zum rechnen konvertiert wird. Nur... wenn jemand keinen Wert mit Komma eingibt, z.B. "100", dann würde darauf ja "1,00". Ist also auch nicht zweckdienlich.
Sorry, falls diese Newbie-Frage unter jeder Würde ist und ich die Antwort in der Dokumentation nicht finde – nicht zuletzt, weil ich vielleicht auch die falsche Frage stelle.
Code:
$_betrag = $_POST["betrag"];
# Umwandlung Eingabe in Variable
$_betrag = preg_replace('![^0-9^,]!', '', $_betrag);
# In reine Zahl umwandeln, Komma lassen
$_betrag = strtr($_betrag, ",", ".");
# Kommazahl auf englisches Format ändern
if (empty($_betrag)) {echo "Bitte einen Betrag eingeben!"; return;}
# Leeren Wert abfangen
Viele Grüße
Michael