web-dev-qa-db-fra.com

Comment formater un nombre 0..9 à afficher avec 2 chiffres (ce n'est pas une date)

Je voudrais toujours montrer un nombre inférieur à 100 avec 2 chiffres (exemple: 03, 05, 15 ...)

Comment puis-je ajouter le 0 sans utiliser de condition pour vérifier s'il est inférieur à 10?

Je dois ajouter le résultat à une autre chaîne, je ne peux donc pas utiliser printf.

177
realtebo

Vous pouvez utiliser:

String.format("%02d", myNumber)

Voir aussi le javadocs

463
beny23

Si vous devez imprimer le numéro, vous pouvez utiliser printf

System.out.printf("%02d", num);

Vous pouvez utiliser

String.format("%02d", num);

ou

(num < 10 ? "0" : "") + num;

ou

(""+(100+num)).substring(1);
50
Peter Lawrey

Vous pouvez utiliser ceci:

NumberFormat formatter = new DecimalFormat("00");  
String s = formatter.format(1); // ----> 01
38
Daniel André

La classe String est fournie avec les capacités de format suivantes:

System.out.println(String.format("%02d", 5));

pour une documentation complète, voici le doc

3
Grimmy

Dans les ressources Android c'est assez simple

<string name="smth">%1$02d</string>
2
V. Kalyuzhnyu