Moin Martin,
function kommazupunkt(zahl) {
zahl=zahl.toString();
zahl=zahl.replace(/,/,".");
zahl=parseFloat(zahl);
return zahl;
}
>
> diese Funktion ist sinnlos. Anscheinend erwartet sie einen Zahlenwert. Den wandelt sie dann in einen String um (mit beliebig vielen Dezimalstellen), ersetzt in diesem String dann Kommas durch Punkte (obwohl ein Komma in diesem String gar nicht vorkommen kann), und versucht dann den String wieder als Zahl zu interpretieren. Das Ergebnis sollte also wieder der ursprüngliche Zahlenwert sein. Mit anderen Worten: Die Funktion tut nichts, was man irgendwie feststellen könnte.
Sofern du einen Float in die Funktion steckst. Steckst do einen String hinein, bekommst du einen Float zurück. Das `toString()` ist ein „type ensurance”: es wird sichergestellt, dass der Eingabewert ein String ist.
> […] es erscheint mir aber witzlos, toString() auf einen String anzuwenden. Ich bin mir nicht mal sicher, ob toString() für Strings überhaupt implementiert ist.
`toString()` auf einen String angewendet gibt den String zurück. Das ganze hat den Zweck sicherzustellen, dass auf dem richtigen Datentyp operiert wird. Ein verbreitetes Konstrukt in dynamischen Programmiersprachen, bei denen der Interpreter bzw Compiler nicht sicherstellen kann, dass der gewünschte Datentyp übergeben wird.
LG,
CK
--
<http://ck.kennt-wayne.de/>