armin: nachkomma-stellen formatieren

hallo,

ich habe ein kleines problem und bin noch javascript-newbie,
aber wie kann ich meine nachkommastellen in javascript formatieren?

ich habe ein kleines script, das 2 zahlen multiplizert die einen geldbetrag darstellen sollen. dre muß natürlich auf 2 nachkomma-stellen formatiert sein, auch wenn die _letzte_ ziffer eine 0 und eigentlich nicht ausgegeben würde.

gibt es dazu wie in C sowas wie %irgendwas ?

vielen dank !!

grüße armin

  1. Hallihallo!

    Vielleicht ist ja dieser Link was für Dich:
    http://selfhtml.teamone.de/javascript/objekte/number.htm#to_fixed

    Funktioniert leider nur in NS6 und IE ab 5.

    Ansonsten kannst Du ja mal im Forumsarchiv suchen, die Frage gab es schon öfters.

    Ich hoffe, ich konnte Dir helfen...

    Viele liebe Grüße,
    Der Dicki

    1. hi dicki,

      der link ist genau das was ich gemeint hatte, aber leider hilft er mir nicht sooo sehr weiter. denn dieses .toFixed funzt leider nicht.
      auch nicht im beispiel von selfHTML ?

      ich hab einen IE 5.0/NT, damit sollte es ja eigentlich klappen ?
      aber irgendwie...?
      gibt es keine andere möglichkeit zum formatieren?

      grüße

      armin

  2. Hallo Armin,

    aber wie kann ich meine nachkommastellen in javascript formatieren?

    Den String auf die gewünschte Anzahl von Nachkommastellen mit 0en auffüllen, dann den Substring vom Komma ab mit Anzahl der Nachkommastellen ausgeben. 'ne Sonderbehandlung brauchst du nur für Werte < 0 oder Ganzzahlen.

    Ich verwende etwa folgendes:

    Hoffe, es hilft dir weiter.

    Grüße von Maxx

    function Nachkomma(zahl,nk)
    {
    var fValue = parseFloat(zahl);
    var newText = "" + fValue;

    if(newText.charAt(0) == '.')  // Zahl < 1,00
      newText = "0" + newText;

    if(newText.search(/./) < 0)  // keine Nachkommastellen vorhanden
      newText += ".";

    for(i = 0; i < nk; i++)       // egal wieviele Nachkommastellen
      newText += "0";             // einfach "0en" anhängen

    // je nach Bedarf math.round();

    if(nk != 0)
      nk++;

    newText = newText.substring(0,newText.search(/./) + nk);
    return newText;
    }