2017-11-06 2 views
0

Zur Zeit arbeite ich mit einer Klasse namens Human, wo ich ein Jahr zur Human Klasse definiert habe, die Jahre sind zwischen 1932 und 2017, und ich würde gerne den String.format() - Befehl verwenden, um 1948 zu konvertieren zu F48, wo das F immer vorne liegt, gibt es einen einfachen Weg, dies zu erreichen? Ich habe probiert:Wie entfernt man bestimmte Zahlen mit String.format()?

String sf3=String.format("Value is %10s",1948) 

Aber es scheint nur zu sein, mehr Whitespace hinzuzufügen.

+5

Warum haben Sie '% 10s' ausprobiert, das zum Auffüllen dient (d. H. Leerzeichen hinzufügt), und warum überrascht es Sie, dass es Leerzeichen hinzufügt? Warum denkst du, dass es zu "F48" führen könnte? – Kayaman

+3

String sf3 = String.format ("Wert ist F% 02d", 1948% 100); – iamnoten

+2

Übrigens solltest du dich beeilen, dein Code wird in weniger als zwei Monaten veraltet sein;) – AxelH

Antwort

0

Um die ersten zwei Ziffern zu löschen, sollten Sie den modulo (%) operator verwenden, um den Rest zu erhalten, wenn Sie durch 100 dividieren. Dann geben Sie einfach den Buchstaben "F" ein und fertig.

+2

Sie müssen auch die Ausgabe der Zahl zero-pad, wenn es weniger als 10 ist. –

Verwandte Themen