trinity: Kommastellen

Hallo

Muss einen Preis auf 2 Kommastellen immer bringen. Funktioniert mit dem unten stehenden Code ganz gut nur mit dem Nachteil, dass es beim IE 5 und niedriger nicht funktioniert.

Gibt es noch eine andere Variante in JavaScript?

document.forms[0].elements["TxEinzelpreis"].value =preis.toFixed(2);
Danke

  1. Hallo,

    mal 100, auf Ganzzahl runden, und dann durch 100 teilen.

    Gruß, Jürgen

  2. Hi,

    Muss einen Preis auf 2 Kommastellen immer bringen. Funktioniert mit dem unten stehenden Code ganz gut nur mit dem Nachteil, dass es beim IE 5 und niedriger nicht funktioniert.

    Wozu jibbet hier ein Archiv? http://forum.de.selfhtml.org/archiv/2003/9/56509/
    Wer googelt der findet...

    Gruesse  Joachim

    1. Runden funtkioniert ja, aber die Kommastellen bleiben nicht

      1. Hallo,

        Runden funtkioniert ja, aber die Kommastellen bleiben nicht

        Gehe ich recht in der Annahme, dass du die Zahl 5,09 rundest. Das ergibt 5,1. Du möchtest sie aber dann als 5,10 darstellen?

        Möglicher Lösungsweg:

        1. Mache aus der Zahl einen String
        2. Hat die Zahl überhaupt keine Nachkommastellen, dann hänge ein . dran
        3. Hänge n 0'en an den String. n ist die Anzahl der gewünschten Nachkommastellen.
        4. Gib den Substring vom ersten Zeichen bis zum . + Anzahl Nachkommastellen aus. War das verständlich? Also etwa:

        sZahl = sZahl.substring(0,sZahl.search(/./) + Nachkomma);

        HTH

        Jochen

  3. Hi,

    Gibt es noch eine andere Variante in JavaScript?

    dez() aus meiner Number-Library http://www.vampirehost.de/gruft/coding/jscript/numlib.htm

    Funktioniert ab JavaScript 1.0. Beispiele:

    dez(3,2,4) ergibt "03.0000"
    dez(-3.1,2,4) ergibt "-03.1000"
    dez(300.001,2,2) ergibt "300.001"
    dez(-3.1,4,4,"#","+",",") ergibt "###-3,1+++"
    dez(3.1,0,2,"","0",",") ergibt "3,10"

    und (trommelwirbel)

    dez("0010.0100") ergibt "10.01"

    Die Ausgabe mit 2 Nachkommastellen ist also bereits voreingestellt. :-) (um vom String wieder zur Zahl zu kommen: parseInt(dez("0010.0100"),10) -> 10.01)

    Gruß, Cybaer