Ziffern eines int zählen
Daniel
- java
Hallo
Ich muss die Anzahl Ziffern eines int zählen und mache das mit
String.valueOf(int).length();
Kann das Probleme geben oder ist das völlig in Ordnung?
Gruss Daniel
Hi,
String.valueOf(int).length();
Kann das Probleme geben oder ist das völlig in Ordnung?
Wieviele Ziffern hat -1 und wie lang ist der String "-1"?
Noch Fragen?
cu,
Andreas
Danke...
Gruss Daniel
Hallo,
Wieviele Ziffern hat -1 und wie lang ist der String "-1"?
Noch Fragen?
Das ist einfach gelöst.
if (zahl > 0) {
len = String.valueOf(int).length();
else
len = String.valueOf(int).length() - 1;
;-)
Aber mal ernsthaft: Wie bestimmt man die Anzahl der Ziffern am
sinnvollsten? Neben der sehr mathematischen Lösung von Frank
würde mir eigentlich nur folgende Lösung einfallen:
zahl = -67890;
len = 0;
while (zahl != 0) {
zahl /= 10;
len++;
}
Wobei man da wieder ein Sonderbehandlung für zahl = 0 bräuchte...
Gruß
Slyh
hi!
Ich muss die Anzahl Ziffern eines int zählen und mache das mit
String.valueOf(int).length();
Kann das Probleme geben oder ist das völlig in Ordnung?
Ich glaube, mathematisch gesehen wäre das sowas wie
n(x) = 1+round(Re(log(x)))
round() rundet nach unten ab, Re() liefert den Realteil und log() ist
der Logarithmus zur Basis 10. Durch Änderung der Logarithmus-Funktion
könnte man sogar ausrechnen lassen, wie viele Ziffern die gleiche
Zahl im Binärsystem bräuchte. Und das klappt natürlich auch für
negative Zahlen.
Viel Spaß beim implementieren... :)
bye, Frank!