JAVA : Nombre de chiffres après la virgule

Résolu
julien -  
Nicoolasens Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
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 !
A voir également:

8 réponses

ray-J
 
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 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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
dekw
 
KX ça c'est du C++ --'
-1
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
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