Double après virgule

Résolu/Fermé
sami190 Messages postés 1 Date d'inscription mercredi 18 juin 2014 Statut Membre Dernière intervention 19 juin 2014 - 19 juin 2014 à 12:07
 sami190 - 25 juin 2014 à 10:05
bonjour,

comment utiliser 5 chiffre après la virgule dans un double /

0.78555555555555555555555 ----> 0.78555 pour faire les calcule

mon problème :

1.0308346562423834E-56 / 1.3141426781290985E-51 == 7.844160861664951E-6


normalement 0.7844160861664951E-6 --> j'ai besoin juste 0.78441

Merci.
A voir également:

2 réponses

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
Modifié par gravgun le 19/06/2014 à 17:09
'lut
System.out.println(String.format("%.5f", maValeur));

from human import idiocy
del idiocy
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
19 juin 2014 à 19:40
Bonjour,

Pour info on peut faire exactement la même chose comme ceci :

System.out.printf("%.5f", maValeur);

Cependant, ça c'est pour faire de l'affichage, si on veut limiter le nombre de décimal pendant les calculs il faudra plutôt utiliser des BigDecimal.

MathContext mc = new MathContext(5);

BigDecimal b1 = new BigDecimal(0.78555555555555555555555, mc);
System.out.println(b1); // 0.78556

BigDecimal b2 = new BigDecimal(1.0308346562423834E-56, mc);
System.out.println(b2); // 1.0308E-56

BigDecimal b3 = new BigDecimal(1.3141426781290985E-51, mc);
System.out.println(b3); // 1.3141E-51

BigDecimal b4 = b2.divide(b3, mc);
System.out.println(b4); // 0.0000078442
0
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
19 juin 2014 à 21:29
J'ai préféré mettre le
format
à part si par ex. il comptait enregistrer le float formaté dans une variable String, pour éventuellement faire du traitement dessus.
Mais oui,
System.out.printf
c'est plus court.
0
Merci gravgun ,
Merci beaucoup m'avez montré la solution
0
Merci
mais comment fais ça /
mon valeur = 0.75555 au lieu de 7.844160861664951E-6

mon code

double Prob,SProb;
...
... des opérations mathématique
...
Prob=Prob/SProb;
// Prob=1.0308346562423834E-56
// SProb=1.3141426781290985E-51
System.out.Println("la probabilité ="+Prob);


le résultats : la probabilité = 7.844160861664951E-6

au lieu de 0.7844160861664951E-6

ci pas l'affichage ci le contenu de Mon Valeur pour faire des outres Opérations
et encore Merci;
0