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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
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.
1
KX ça c'est du C++ --'
-1
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
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