rompiflor
Messages postés6Date d'inscriptionsamedi 6 janvier 2007StatutMembreDernière intervention27 mai 2007
-
27 mai 2007 à 10:57
rompiflor
Messages postés6Date d'inscriptionsamedi 6 janvier 2007StatutMembreDernière intervention27 mai 2007
-
27 mai 2007 à 17:38
Bonjour,
Comment fait-on pour imprimer un nombre sur x chiffres ? Quel est l'équivalent de printf("%02u", a); en langage c en Java ?
Si je fais ça en Java, j'ai le droit à un java.util.UnknownFormatConversionException.
Merci pour vos réponses.
rompiflor
Messages postés6Date d'inscriptionsamedi 6 janvier 2007StatutMembreDernière intervention27 mai 2007 27 mai 2007 à 15:50
J'ai essayé de l'adapter de la façon suivante mais ça ne marche pas bien.
StringBuffer sb = new StringBuffer( );
int n=nb;
while (n!=0) {
int x = n%10;
String digit = java.lang.String.valueOf(x);
System.out.println("x vaut"+x);
n = n/10;
digit = "0"+digit;
sb.append(digit);
}
sb.reverse( );
System.out.println("sb:"+ sb);
Le 0 se trouve après. J'ai réussi à me débrouiller autrement avec un if(a<10) on ajoute un 0, mais en fait je pensais que ça pouvait être géré directement puisque en C ça l'est. Donc apparemment il faut faire une fonction exprès en Java....
rompiflor
Messages postés6Date d'inscriptionsamedi 6 janvier 2007StatutMembreDernière intervention27 mai 2007 27 mai 2007 à 17:38
Je voulais dire adapter pour faire qqch qui se compile. Parcequ'il n'aime pas trop les nombres non déclarés et le calcul char digit = n%10; la conversion du int en char, il est pas content...
En plus n = n/10; dans le while ça me fais une répétition du style 3030 au lieu de 003.