Stellen einer Zahl
-
Morgen,
mich interessiert, wie ich die Anzahl der Stellen eines integer Wertes ermitteln kann, der mir von einer Funktion als Rückgabewert geliefert wird.
Gibts ne Funktion dafür?
Wie ist sonst die Methodik?Danke!
-
Du könntest die Zahl in einen String umwandeln und dann die Länge ermitteln (was dann kein pronblem mehr darstellt).
-
oder so oft durch 10 teilen, bis die zahl null ist:
zahl=100; stellen=0; while (zahl){ ++stellen; zahl/=10; }
-
oder auch den 10er-Logarithmus bilden, abrunden und 1 draufaddieren.
-
Jester schrieb:
oder auch den 10er-Logarithmus bilden, abrunden und 1 draufaddieren.
dann muss er aber zuerst 1 vom argument abziehen
(wegen 10, 100, 1000...)
-
log_10(10) = 1. Abrunden bleibt 1. 1 draufaddieren gibt 2. 10 hat also zwei Stellen. Laß mich nachschauen... ja scheint zu stimmen.
Dein Weg:
log_10(10-1) = log_10(9) = 0 (mit Abrundung). Eins drauf gibt 1. 10 hat also 1 Stelle.