[ Java ] Gros bleu !! Question de padding ....

Gros bleu !! Question de padding .... [ Java ] - Java - Programmation

Marsh Posté le 03-05-2002 à 13:45:50    

Je suis plutot un habitué du C++ alors voici ma question ...
J'ai un nombre (stocké dans un entier) que je souhaite mettre dans un String mais avec un padding de 0 devant. Comment fait on ça en Java ? Je sais ça doit surement être tou con, mais quand j'essaye d'utiliser un sprintf ça marche pas  :pt1cable:  :pt1cable:  :pt1cable:  (Je précise que je déconne pour le sprintf).
 
Merci à tous !!!!


---------------
Je suis un mbindre ...
Reply

Marsh Posté le 03-05-2002 à 13:45:50   

Reply

Marsh Posté le 03-05-2002 à 13:56:09    

java.text.NumberFormat
java.text.DecimalFormat

Reply

Marsh Posté le 03-05-2002 à 14:00:01    

greg@freestarthu a écrit a écrit :

java.text.NumberFormat
java.text.DecimalFormat  




 
Merci je vais aller voir ça ...


---------------
Je suis un mbindre ...
Reply

Marsh Posté le 03-05-2002 à 14:09:20    

enfin je ne sais pas .. si par padding tu entendais juste mettre des espaces, c'est pê un peu trop complexe comme classe
jette tjs un oeil a toutes les classes de format (XXFormat)

Reply

Marsh Posté le 03-05-2002 à 14:58:25    

greg@freestarthu a écrit a écrit :

enfin je ne sais pas .. si par padding tu entendais juste mettre des espaces, c'est pê un peu trop complexe comme classe
jette tjs un oeil a toutes les classes de format (XXFormat)  




 
En effet je veux juste faire un truc du genre ...
 
2 -> "002"


---------------
Je suis un mbindre ...
Reply

Marsh Posté le 03-05-2002 à 15:08:38    

mbindre a écrit a écrit :

 
 
En effet je veux juste faire un truc du genre ...
 
2 -> "002"  




 
NumberFormat doit pouvoir le faire

Reply

Marsh Posté le 03-05-2002 à 15:16:16    

greg@freestarthu a écrit a écrit :

 
 
NumberFormat doit pouvoir le faire  




 
Ok, je vais aussi jetter un oeil. Entre temps j'avais fais ceci pour tester ...
 
String monMasque = "0000";  
DecimalFormat monFormat = new DecimalFormat(monMasque);  
String sortie = monFormat.format(10);  
System.out.println(sortie);
 
ça donne bien 0010.
 
En fait dans mon cas j'aimerais pouvoir "paramétriser" le nombre de 0 de façon assez simple. La c un peu trop lourd pour rien.


---------------
Je suis un mbindre ...
Reply

Marsh Posté le 03-05-2002 à 17:03:10    

voila une solution pas du tout optimisée :
 
public String format(int i, char c, int nbPad) {
   Char masque = new Char[nbPad];
   for (int i=0; i<nbPad<i++) masque[i]=c;
   return new DecimalFormat(new String(masque)).format(i);  
}

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed