Sorry, ich war zu voreilig,
ich muss noch einen Kommentar zu den Nachkommastellen loswerden.
Nun ist eigentlich alles erledigt - es könnte jedoch stören, dass Nullen, die auf den letzten Nachkommastellen liegen durch den Interpreter einfach abgeschnitten werden; man also Werte ausgegeben bekommt, die nicht in die Formatierung bzw. dem Design des User-Bildschirms passen wie z.B. 12,3 oder 12 anstelle von 12,30 oder 12,00. Um dieses zu ändern habe ich dir hier noch einen meiner kleinen Algorhythmen angehängt:
var z = 0; // deklariere ZaehlerVariable
for (i=0; i < wert.length; i++) // parse wert
{
nachKomma = wert.charAt(i); // belege Variable mit StellenWert an ParserPosition iif (nachKomma == ',' || z != 0) // wenn Komma gefunden oder Zaehler nicht Null, dann ...
{
z++; // erhoehe Zaehlervariable um eins
}
}/* Im folgenden wird der Endwert fuer die Bildschirmausgabe modelliert - er wird gegebenenfalls um Nullen ergaenzt. */
if (z == 0) // es existieren keine NachkommaStellen (durch Interpreter abgeschnitten)
{
formElement[b].value = wert+',00'; // erweiter wert um Komma und zwei Nullen und weise dem Formelement mit dem Index b zu
}
else if (z == 2) // es existiert eine NachkommaStelle
{
formElement[b].value = wert+0; // erweiter wert um eine Null und weise diesem dem Formelement mit dem Index b zu
}
else if (z == 3) // es existieren zwei NachkommaStellen
{
formElement[b].value = wert; // wert ohne Erweiterung dem Formelement mit dem Index b zuweisen
}
Diese Funktion ist suboptimal.
// egal wieviele Nackommastellen existieren. Es werden zwei 0'en angehängt.
wert = wert + "00";
// und dann erfolgt die Ausgabe vom Komma ab mit 2 Stellen.
wert.substring(0,wert.search(/,/) + 3);
Einzig für den Fall eines Wertes kleiner 1, oder einer Zahl ganz ohne Nachkommastellen muss eine Unterscheidung getroffen werden.
Im ersten Fall müssen wir eine führende 0 hinbasteln, im zweiten das Komma.
Grüße,
Jochen