Hi,
vielen Dank Gunnar. Das war genau der richtige Tip. Ich habe jetzt folgende Funktion daraus gebaastelt
function convertCurrency(value) {
// Zeichen , und . gleichsetzen
value = value.replace(/,/, ".");
// Letztes Vorkommen von "."
last = value.lastIndexOf(".");
// Teilstrings ermitteln
bgnStr = value.substring(0, last);
endStr = value.substring(last+1, value.length);
// Alle Trenn- oder Dezimalzeichen vor dem letzten entfernen
bgnStr = bgnStr.replace(/./, "");
// Prüfen der Ziffern-Anzahl nach letztem Trennzeichen
switch(endStr.length) {
case 0: // Keine Nachkommastellen -> Ganzahl zurückgeben
return bgnStr;
break;
case 1: // Eine Nachkommastelle -> Mit 0 auffüllen und zurückgeben
return bgnStr+"."+endStr+"0";
break;
case 2: // Zwei Nachkommastellen -> Zurückgeben
return bgnStr+"."+endStr;
break;
case 3: // Drei 'Nachkommastellen' -> Tausendertrennzeichen -> ohne zurückgeben
return bgnStr+endStr;
break;
default: // Mehr als Drei 'Nachkommastellen' -> Tausendertrennzeichen -> ohne zurückgeben
return bgnStr+endStr;
break;
}
}
Kleine Änderungen zu Deinem Hinweis:
1 Nachkommastelle nicht ungültig,sondern wird aufgefüllt
mehr als 3 auch nicht ungültig, sondern wird wie Tausendertrennzeichen gewertet und abgeschnitten.
Vielleicht ist die Funktion ja noch anderen hilfreich, oder es hat noch jemand Verbesserungsvorschläge.
Nochmal vielen Dank
Schöne Grüße
Axel