Anzahl Ziffern einer Zahl
Gast
- javascript
0 Patty0 ChrisB0 Gast
0 Der Martin
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.
Hallo,
var stringzahl = zahl.toString(2);
var ziffern = stringzahl.length;
LG, Patty
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
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.
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
@@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'
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.
@@herrmann:
nuqneH
Es muss natürlich der Zehnerlogarithmus sein
Nö, der zu einer anderen Basis unterscheidet sich vom Zehnerlogarithmus durch einen konstanten Faktor.
Qapla'