Gast: Anzahl Ziffern einer Zahl

Hallo,
wie kann ich mit JavaScript die Anzahl der Stellen einer Zahl herausfinden?
Z.B. 100 hat 3 Ziffern, usw...
Hintergrund ist, dass ich Werte in ein Koordinatensystem eintragen will. Die Werte sind in einem Array und ich suche den kleinsten und größten Wert heraus. Der größte z.B. mit 321 kann natürlich nicht den max-Wert 321 im Koordinatensystem haben, sondern sollte aufgerundet werden auf, z.B. 400.
Danke im voraus.

  1. Hallo,

    var stringzahl = zahl.toString(2);
    var ziffern = stringzahl.length;

    LG, Patty

  2. Hi,

    wie kann ich mit JavaScript die Anzahl der Stellen einer Zahl herausfinden?
    Z.B. 100 hat 3 Ziffern, usw...

    alert((new String(100)).length)

    Hintergrund ist, dass ich Werte in ein Koordinatensystem eintragen will. Die Werte sind in einem Array und ich suche den kleinsten und größten Wert heraus. Der größte z.B. mit 321 kann natürlich nicht den max-Wert 321 im Koordinatensystem haben, sondern sollte aufgerundet werden auf, z.B. 400.

    Und wie willst du jetzt von Länge(321)=3 auf die 400 kommen ...?

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Und wie willst du jetzt von Länge(321)=3 auf die 400 kommen ...?

      Da habe ich schon eine Idee, aber mein nächstes Problem ist Google Chart gerade. Er nimmt beim line-Chart den minValue und maxValue nicht an, die ich als JSON übergebe. Beziehungsweise er setzt komplett andere Werte ein... Auch wenn ich es im Playground ausprobiere.

  3. Hi,

    wie kann ich mit JavaScript die Anzahl der Stellen einer Zahl herausfinden?

    entweder durch Umwandeln in einem String, oder über den Logarithmus - wobei das für negative Werte überhaupt nicht geht, und erst für Werte ab 1 sinnvoll einsetzbar ist. Und ohne Betrachtung von signifikanten Nachkommastellen.

    Die Umwandlung in einen String kann dafür bei sehr großen Zahlen überraschende Ergebnisse liefern, wenn du beispielsweise feststellst, dass 2.5E+14 angeblich 7 Stellen hat.

    Z.B. 100 hat 3 Ziffern, usw...

    Genau. Und der dekadische Logarithmus aller Zahlen 100..999 ist 2 (plus etwas Gemüse nach dem Dezimalpunkt).

    Ciao,
     Martin

    --
    Gott hilft niemandem, er erfreut sich nur an unseren Leiden.
      (Ashura)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. @@Der Martin:

      nuqneH

      über den Logarithmus - wobei das für negative Werte überhaupt nicht geht, und erst für Werte ab 1 sinnvoll einsetzbar ist.

      Wenn das Ziel ist, eine Achse zu skalieren, führt der Logarithmus auch für Werte zwischen 0 und 1 zum Ziel.

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Wenn das Ziel ist, eine Achse zu skalieren, führt der Logarithmus auch für Werte zwischen 0 und 1 zum Ziel.

        Es muss natürlich der Zehnerlogarithmus sein, z. B. so:

        function groessenordnung(x) {  
            var gr, vz;  
            if (isNaN(x) || x === 0) {  
                return 0;  
            }  
            else {  
                // Vorzeichen feststellen  
                vz = (x < 0 ? -1 : 1);  
                // positiv machen  
                x = x * vz;  
                //Zehnerlogarithmus, aufgerundet  
                return  Math.ceil(Math.log(x) / Math.LN10);  
            }  
        }
        

        Gruß H.

        1. @@herrmann:

          nuqneH

          Es muss natürlich der Zehnerlogarithmus sein

          Nö, der zu einer anderen Basis unterscheidet sich vom Zehnerlogarithmus durch einen konstanten Faktor.

          Qapla'

          --
          Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
          (Mark Twain)