Martin_I: Zahl mit fuehrenden Nullen auffuellen

Hallo,

ich habe eine Zahl zwischen 1 und 999. Ich moechte nun dass alle Zahlen 3stellig sind - also 001, 002, ..., 045, 046, ..., 999.

Wie kann ich dieses am geschicktesten erreichen? Gibt es eine Funktion die das machen kann?

Unter Number habe ich die Funktion toFixed() gefunden, die liefert mir allerdings nur eine bestimmte Anzahl Nachkommastellen. Solch eine Funktion braeuchte ich fuer die fuehrenden Nullen.

Gruss Martin

  1. ich habe eine Zahl zwischen 1 und 999. Ich moechte nun dass alle Zahlen 3stellig sind - also 001, 002, ..., 045, 046, ..., 999.

    Wie kann ich dieses am geschicktesten erreichen? Gibt es eine Funktion die das machen kann?

    Nein, dazu musst du dir aus den String Funktionen http://de.selfhtml.org/javascript/objekte/string.htm selber was basteln.

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. Hallo Struppi!

      Nein, dazu musst du dir aus den String Funktionen http://de.selfhtml.org/javascript/objekte/string.htm selber was basteln.

      Lässt sich da mit sprintf nichts machen?

      Viele Grüße aus Frankfurt/Main,
      Patrick

      --

      _ - jenseits vom delirium - _
      <hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash>
      Nichts ist unmöglich? Doch!
      1. Nein, dazu musst du dir aus den String Funktionen http://de.selfhtml.org/javascript/objekte/string.htm selber was basteln.

        Lässt sich da mit sprintf nichts machen?

        Theoretisch ja, aber printf gibt es nicht JS.

        Struppi.

        --
        Javascript ist toll (Perl auch!)
        1. Hallo Struppi!

          Lässt sich da mit sprintf nichts machen?

          Theoretisch ja, aber printf gibt es nicht JS.

          Hm, ja... in letzter Zeit habe ich wohl mehr geperlt als gejavascripted ;)

          Aber, wenn wir schon dabei sind: was ist der Unterschied zwischen printf und sprintf?

          Viele Grüße aus Frankfurt/Main,
          Patrick

          --

          _ - jenseits vom delirium - _
          <hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash>
          Nichts ist unmöglich? Doch!
          1. Hi,

            Aber, wenn wir schon dabei sind: was ist der Unterschied zwischen printf und sprintf?

            printf schreibt in einen Ausgabekanal (default STDOUT), sprintf liefert einen String als Returncode zurueck, den man dann in einer Variablen speichern kann.

            mfG,
            steckl

          2. Hallo Patrick,

            was ist der Unterschied zwischen printf und sprintf?

            printf  schickt die formatierte Ausgabe an das Standardausgabegerät (stdout).
            sprintf macht das gleiche, allerdings in eine Zeichenkette.

            Und zur Vollständigkeit:
            fprintf s.o. in einen (Datei)stream.

            Grüße,

            Jochen

            --
            Kritzeln statt texten:
            Scribbleboard
            1. Hi,

              was ist der Unterschied zwischen printf und sprintf?

              printf  schickt die formatierte Ausgabe an das Standardausgabegerät (stdout).

              Hier kann man auch einen anderen Ausgabekanal (auch ein File) waehlen.
              Beispiel:

                
              open(FILE,">tmp.txt");  
              printf FILE "%2.2d\n", 5;  
              close FILE;  
              
              

              sprintf macht das gleiche, allerdings in eine Zeichenkette.

              Und zur Vollständigkeit:
              fprintf s.o. in einen (Datei)stream.

              Das kannte ich bisher nur von C. Meine Perl-Version meckert "Undefined subroutine &main::fprintf called" wenn ich es verwenden will. Gibt es das in neueren Perl-Versionen oder ein Package? Oder hast du dich auf eine andere Programmiersprache bezogen?

              mfG,
              steckl

              1. Hallo,

                fprintf s.o. in einen (Datei)stream.

                Das kannte ich bisher nur von C. Meine Perl-Version meckert "Undefined subroutine &main::fprintf called"

                ja, sorry. Ich bezog mich auf C.

                Grüße, Jochen

                --
                Kritzeln statt texten:
                Scribbleboard
            2. Hallo Jochen und steckl!

              printf  schickt die formatierte Ausgabe an das Standardausgabegerät (stdout).
              sprintf macht das gleiche, allerdings in eine Zeichenkette.

              Vielen Dank Euch beiden, ich hatte bisher immer nur sprintf benutzt, um die Datumsausgabe mit einer führenden Null bei Tagen/Uhrzeiten zu erhalten:

              $long_time = sprintf("%02d:%02d:%02d",$hour,$min,$sec);   # z.B.: 14:05:02

              Viele Grüße aus Frankfurt/Main,
              Patrick

              --

              _ - jenseits vom delirium - _
              <hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash>
              Nichts ist unmöglich? Doch!
  2. Wie kann ich dieses am geschicktesten erreichen? Gibt es eine Funktion die das machen kann?

    Ein kleines Beispiel gibt es hier:
    http://www.anaboe.net/codes/javascript/zahl-mit-fuehrende-nullen

    Siechfred

    --
    Ein Selbständiger ist jemand, der bereit ist, 16 Stunden am Tag zu arbeiten, nur um nicht 8 Stunden für einen Anderen arbeiten zu müssen.