Wie entferne ich die erste Ziffer einer ganzen Zahl?
Meine Eingabe ist eine Ganzzahl (zum Beispiel i = 123456789).
Ich möchte dann die erste Ziffer entfernen, damit i gleich 23456789 ist.
Hier ist ein Weg, es zu tun:
String
int
Code:
%Vor%Ausgabe:
%Vor%Hinweis: Dies kann in einer Zeile mit
erfolgen %Vor%Bearbeiten:
Um mit einem negativen Fall umzugehen, überprüfen Sie, ob die Zahl positiv oder ganzzahlig ist:
%Vor%Ich denke, ich erinnere mich an die String-freie Version ... obwohl ich total mit @Christian einverstanden bin, wie ich es machen würde ...
HINWEIS: Wie @Darren Gilroy darauf hinwies, muss man Negative und Nullszenen berücksichtigen, und meine Funktion tut dies nicht.
Natürlich ist %
auch eine bessere Lösung.
Schlechter Profilierungsversuch:
Wiederholen der obigen Funktion ohne println
für 20.000.000.000 Wiederholungen in einer for
Schleife:
Das gleiche gilt für Christians viel leichter zu verstehende und perfekt funktionierende Version, aber für nur 200.000.000 Wiederholungen (weil ich faul bin und es satt habe zu warten):
%Vor%Man könnte also argumentieren, dass das Konstruieren der String-Objekte es wahrscheinlich um etwa das 200-fache verlangsamt, aber das ist keine wirklich fein abgestimmte Profilerstellung.
Wenn Sie nach einfacheren Methoden und ohne die Verwendung von String
suchen, dann ist hier mein einfaches Beispiel:
int
by 10^n
. n
ist die Anzahl der Ziffern. Zum Beispiel
%Vor%Und Sie würden diese Methode benötigen:
%Vor%