Lieber betking99,
suchst Du so etwas? (Demo)
/**
* 123456789.0123 => 123.456.789,0123
*
* @param int
* @return string
*/
function dottedNumber (i) {
var r = ""; // wird Ergebnis
// s[0] Vorkomma-, s[1] Nachkommastellen
const s = i.toString().split('.');
// String rückwärts wenden
function reverse (str) {
return str.split("").reverse().join("");
}
// wir arbeiten Vorkommastellen von hinten ab
s[0] = reverse(s[0]);
while (s[0].length) {
// Dreiergruppe möglich?
if (s[0].length > 2) {
// an r anhängen und mit . trennen
r += s[0].substr(0, 3) + ".";
s[0] = s[0].substr(3);
} else {
// Rest anhängen und Ende
r += s[0];
s[0] = "";
}
}
// letzten Trenner entfernen und wieder umkehren
r = reverse(
r.replace(/\.$/, "") // \. für echten Punkt
);
// gab es noch Nachkommastellen?
if (s[1].length) {
r += "," + s[1];
}
return r;
}
In der Demo habe ich die Vorschläge von hier mit eingearbeitet, inklusive einer Prüfung auf Nichtzahlenwerte.
Liebe Grüße
Felix Riesterer