JAVA : Nombre de chiffres après la virgule

Résolu/Fermé
julien - 24 mars 2003 à 14:02
Nicoolasens
Messages postés
5
Date d'inscription
lundi 21 mars 2016
Statut
Membre
Dernière intervention
13 septembre 2016
- 13 sept. 2016 à 14:29
Bonjour !

Je souhaiterai savoir s'il existe des méthodes pour préciser le nombre de chiffres après la virgule dans un Double en JAVA.

Les double et les float sont dits à "virgule flottante", c'est à dire que le nombre de chiffres avant et après la virgule n'est pas défini.

Mais peut on tout de même forcer ce nombre ?


Merci d'avance pour vos réponses !

8 réponses

Salut voici un exemple mais je te conseil pas de l'utiliser si tu souhaites arrondir ta valeur pour recuperer un double à la fin car la classe DecimalFormat te renvoie un objet du type texte à moins que tu connais une methode qui convertit les objets du type texte en double.Je connais une autre methode permetant pour le faire mais je m'en souviens plus si je me rappel je te le dirais.
Pour utiliser il faut importer le packetage java.text.*;
et voila:
DecimalFormat df = new DecimalFormat ( ) ;
df.setMaximumFractionDigits ( 2 ) ; //arrondi à 2 chiffres apres la virgules
df.setMinimumFractionDigits ( 2 ) ;
df.setDecimalSeparatorAlwaysShown ( true ) ;
System.out.println ( Double.parseDouble(df.format ( -4.327))); //cela t'affiche -4,33
System.out.println ( df.format ( 2174534.3279 ) ) ; //2,174,534,33
Bon courage te bonne chance!
41
KX
Messages postés
16581
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
26 juillet 2022
2 972
Modifié par KX le 2/02/2012 à 14:44
Sinon : System.out.printf("%.3f\n",1234.56789); // 1234,568
Ici le %.3f veut dire nombre flottant avec 3 chiffres après la virgule.
0
KX ça c'est du C++ --'
0
KX
Messages postés
16581
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
26 juillet 2022
2 972
Modifié par KX le 21/09/2012 à 15:07
Dans ce cas là, ce serait du C plus que du C++ (où l'on utiliserait std::cout << std::setprecision (3) << f;)

La méthode PrintStream printf(String,Object...) existe en Java, et elle fonctionne très bien sur System.out
À voir aussi : la méthode String.format(String,Object...) que l'on pourrait comparer au sprintf en C.
Une description de ce qu'elle permet de faire se trouve dans la documentation de java.util.Formatter
0