252 votes

Comment formater une chaîne java avec un zéro non significatif?

Voici la chaîne, par exemple: "Apple", et je voudrais ajouter zéro pour remplir 8 caractères. Je voudrais montrer le résultat comme ça; "000Apple" Comment puis-je le faire? Je vous remercie.

393voto

infinity Points 4236
public class LeadingZerosExample {
    public static void main(String[] args) {
       int number = 1500;

       // String format below will add leading zeros (the %0 syntax) 
       // to the number above. 
       // The length of the formatted string will be 7 characters.

       String formatted = String.format("%07d", number);

       System.out.println("Number with leading zeros: " + formatted);
    }
}

327voto

Chris Lercher Points 22134

Si vous devez le faire sans l'aide d'une bibliothèque:

 ("00000000" + "Apple").substring("Apple".length())
 

(Fonctionne tant que votre chaîne ne dépasse pas 8 caractères.)

169voto

Bozho Points 273663
  StringUtils.leftPad(yourString, 8, '0');
 

C'est de commons-lang . Voir javadoc

6voto

kaliatech Points 8331

Utilisez Apache Commons StringUtils.leftPad (ou regardez le code pour créer votre propre fonction).

6voto

RD1 Points 4458
String input = "Apple";
StringBuffer buf = new StringBuffer(input);

while (buf.length() < 8) {
  buf.insert(0, '0');
}

String output = buf.toString();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X