Affichage d'un int en java
Fermé
fizan
-
23 nov. 2007 à 22:52
Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 - 24 nov. 2007 à 15:38
Posotaz Messages postés 489 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 19 juin 2011 - 24 nov. 2007 à 15:38
A voir également:
- Affichage d'un int en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Affichage double ecran - Guide
6 réponses
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
24 nov. 2007 à 00:29
24 nov. 2007 à 00:29
Bonsoir,
Avec seul un type primitif entier c'est impossible à réaliser. A mon sens tu peux au maximum connaître le nombre de caractères occupés par le nombre en notation décimale en procédant par divisions (je donne juste l'idée) mais il n'empêche que pour l'affichage tu devras concaténer autant de 0 qu'il manque pour faire un total de 6 => String oblige
Je viens de tomber sur la présentation de la classe DecimalFormat (http://java.sun.com/j2se/1.4.2/docs/api/java/text/DecimalFormat.html), une petite recherche sur google devrait t'en montrer l'usage... mais aux mieux ça te renvoie un StringBuffer. =>toString() oblige
Le formatage d'un nombre passe obligatoirement par un String, tu n'as pas d'autre option... ça ne s'appellerait pas formatage sinon ;-) Sans compter que même un type primitif, à l'affichage (que ce soit dans la console ou dans un composant graphique) doit être transformé en String par un moyen ou un autre (faire "plop"+1 crée une chaîne "plop", transforme l'int 1 en String et les concatène), donc ne te prive pas d'utiliser un String c'est une classe incontournable.
Avec seul un type primitif entier c'est impossible à réaliser. A mon sens tu peux au maximum connaître le nombre de caractères occupés par le nombre en notation décimale en procédant par divisions (je donne juste l'idée) mais il n'empêche que pour l'affichage tu devras concaténer autant de 0 qu'il manque pour faire un total de 6 => String oblige
Je viens de tomber sur la présentation de la classe DecimalFormat (http://java.sun.com/j2se/1.4.2/docs/api/java/text/DecimalFormat.html), une petite recherche sur google devrait t'en montrer l'usage... mais aux mieux ça te renvoie un StringBuffer. =>toString() oblige
Le formatage d'un nombre passe obligatoirement par un String, tu n'as pas d'autre option... ça ne s'appellerait pas formatage sinon ;-) Sans compter que même un type primitif, à l'affichage (que ce soit dans la console ou dans un composant graphique) doit être transformé en String par un moyen ou un autre (faire "plop"+1 crée une chaîne "plop", transforme l'int 1 en String et les concatène), donc ne te prive pas d'utiliser un String c'est une classe incontournable.
vignemail1
Messages postés
1246
Date d'inscription
vendredi 8 octobre 2004
Statut
Contributeur
Dernière intervention
13 septembre 2019
259
24 nov. 2007 à 15:05
24 nov. 2007 à 15:05
System.out.printf("%06d",1) devrait faire l'affaire
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
24 nov. 2007 à 15:29
24 nov. 2007 à 15:29
Salut Vignemail1,
Je ne trouve pas de méthode printf(String format, int number) dans System.out... tu confonds peut-être avec le printf du C ?
EDIT : Au temps pour moi, ça existe bel et bien j'en reste sur le popotin on en apprend tous les jours ^^
Belle illustration ici :
http://www.java2s.com/Code/JavaAPI/java.lang/Systemoutprintf03dinti.htm
Bref, ça reste "similaire" à la pratique du DecimalFormat mais c'est bien plus pratique pour un affichage direct dans une console. Ca alors ! :-)
Je ne trouve pas de méthode printf(String format, int number) dans System.out... tu confonds peut-être avec le printf du C ?
EDIT : Au temps pour moi, ça existe bel et bien j'en reste sur le popotin on en apprend tous les jours ^^
Belle illustration ici :
http://www.java2s.com/Code/JavaAPI/java.lang/Systemoutprintf03dinti.htm
Bref, ça reste "similaire" à la pratique du DecimalFormat mais c'est bien plus pratique pour un affichage direct dans une console. Ca alors ! :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
vignemail1
Messages postés
1246
Date d'inscription
vendredi 8 octobre 2004
Statut
Contributeur
Dernière intervention
13 septembre 2019
259
24 nov. 2007 à 15:35
24 nov. 2007 à 15:35
System.out est un PrintStream
regarde la méthode public PrintStream printf(String format,Object... args)
regarde la méthode public PrintStream printf(String format,Object... args)
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
24 nov. 2007 à 15:38
24 nov. 2007 à 15:38
Ils ont dû oublier de la mettre dans la doc (enfin la 1.4.2) :
http://java.sun.com/j2se/1.4.2/docs/api/java/io/PrintStream.html
EDIT : Décidément c'est la journée des perles... si elle ne figure pas dans la 1.4.2 c'est qu'elle n'existait pas encore. Elle ne l'est qu'à partir de Java 5 (1.5).
https://docs.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html
Donc voilà le débat se situe maintenant au niveau de la compatibilité avec les anciennes versions de la JVM.
http://java.sun.com/j2se/1.4.2/docs/api/java/io/PrintStream.html
EDIT : Décidément c'est la journée des perles... si elle ne figure pas dans la 1.4.2 c'est qu'elle n'existait pas encore. Elle ne l'est qu'à partir de Java 5 (1.5).
https://docs.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html
Donc voilà le débat se situe maintenant au niveau de la compatibilité avec les anciennes versions de la JVM.