278 votes

Comment formater un nombre de 0 à 9 pour l'afficher avec 2 chiffres (ce n'est PAS une date) ?

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

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

J'ai besoin d'ajouter le résultat à un autre String, donc je ne peux pas utiliser printf.

676voto

beny23 Points 14428

Vous pouvez utiliser :

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

Voir également le javadocs

76voto

Peter Lawrey Points 229686

Si vous avez besoin d'imprimer le nombre, 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);

66voto

Daniel André Points 666

Vous pouvez utiliser ceci :

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

6voto

Grimmy Points 581

La classe String est livrée avec les capacités de formatage :

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

pour une documentation complète, voici le doc

4voto

V. Kalyuzhnyu Points 1515

Dans les ressources Android, c'est plutôt simple

<string name="smth">%1$02d</string>

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