Wie kann man ein linkes Pad int
mit Nullen bei der Umwandlung in eine String
in Java?
Ich bin im Grunde suchen, um aufzufüllen Ganzzahlen bis zu 9999
mit führenden Nullen (z. B. 1 = 0001
).
Wie kann man ein linkes Pad int
mit Nullen bei der Umwandlung in eine String
in Java?
Ich bin im Grunde suchen, um aufzufüllen Ganzzahlen bis zu 9999
mit führenden Nullen (z. B. 1 = 0001
).
Für Kotlin
fun Calendar.getFullDate(): String {
val mYear = "${this.get(Calendar.YEAR)}-"
val mMonth = if (this.get(Calendar.MONTH) + 1 < 10) {
"0${this.get(Calendar.MONTH) + 1}-"
} else {
"${this.get(Calendar.MONTH)+ 1}-"
}
val mDate = if (this.get(Calendar.DAY_OF_MONTH) < 10) {
"0${this.get(Calendar.DAY_OF_MONTH)}"
} else {
"${this.get(Calendar.DAY_OF_MONTH)}"
}
return mYear + mMonth + mDate
}
und verwenden sie als
val date: String = calendar.getFullDate()
Keine Pakete erforderlich:
String paddedString = i < 100 ? i < 10 ? "00" + i : "0" + i : "" + i;
Damit wird die Zeichenkette auf drei Zeichen aufgefüllt, und es ist leicht, einen weiteren Teil für vier oder fünf Zeichen hinzuzufügen. Ich weiß, dies ist nicht die perfekte Lösung in irgendeiner Weise (vor allem, wenn Sie eine große gepolsterte Zeichenfolge wollen), aber ich mag es.
Hier ist eine weitere Möglichkeit, eine Ganzzahl mit Nullen auf der linken Seite aufzufüllen. Sie können die Anzahl der Nullen nach Belieben erhöhen. Ich habe eine Prüfung hinzugefügt, um im Falle einer negativen Zahl oder eines Wertes, der größer als oder gleich Nullen ist, den gleichen Wert zurückzugeben wie konfiguriert. Sie können weitere Änderungen nach Ihren Anforderungen vornehmen.
/**
*
* @author Dinesh.Lomte
*
*/
public class AddLeadingZerosToNum {
/**
*
* @param args
*/
public static void main(String[] args) {
System.out.println(getLeadingZerosToNum(0));
System.out.println(getLeadingZerosToNum(7));
System.out.println(getLeadingZerosToNum(13));
System.out.println(getLeadingZerosToNum(713));
System.out.println(getLeadingZerosToNum(7013));
System.out.println(getLeadingZerosToNum(9999));
}
/**
*
* @param num
* @return
*/
private static String getLeadingZerosToNum(int num) {
// Initializing the string of zeros with required size
String zeros = new String("0000");
// Validating if num value is less then zero or if the length of number
// is greater then zeros configured to return the num value as is
if (num < 0 || String.valueOf(num).length() >= zeros.length()) {
return String.valueOf(num);
}
// Returning zeros in case if value is zero.
if (num == 0) {
return zeros;
}
return new StringBuilder(zeros.substring(0, zeros.length() -
String.valueOf(num).length())).append(
String.valueOf(num)).toString();
}
}
Eingabe
0
7
13
713
7013
9999
Ausgabe
0000
0007
0013
7013
9999
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.