Bonjour
cout << 4/3 --> m'affiche 1
je veux afficher 1.3333. Comment faire
Bonjour
cout << 4/3 --> m'affiche 1
je veux afficher 1.3333. Comment faire
Pour avoir un résultat réel, il faut diviser des réels: cout << 4.0/3.0
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
non c'est pas ce le besoin
A partir deux entiers on affiche le résultat de la fraction avec virgule
Bonjour,
Voir ce sujet de la FAQ C : Que fait exactement l'opérateur diviser / ?
Bonjour,
Si tu veux un résultat flottants, tu dois partir d'opérande flottant. Tu dois donc convertir tes entiers en flottants au moyen d'un transtypage (puisque tu ne peux pas le faire par une modification d’écriture). Une méthode propre serait d’écrire :
Naturellement, cette écriture n'a d’intérêt qu'avec des variables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part cout << static_cast<double>(4) / static_cast<double>(3);
Fenkys
Salut,Si, justement, le besoin est bel et bien celui là : C++ est un langage fortement typé, ce qui implique que le résultat d'une opération mathématique est du même type que les opérandes qui ont été utilisé. Or, lorsque tu écris en dur 4/3, 4 et 3 sont considérés par le compilateur comme étant des entiers, ce qui fait que le résultat sera forcément du type entier.
Pour obtenir le résultat correct, il faut donc faire en sorte que l'opération (la division dans le cas présent) renvoie une valeur sous la forme d'un réel (typiquement : float, double ou long double), et, pour ce faire, il faut impérativement que l'un des opérande soit de type réel, l'idéal étant que ce soit le cas pour les deux opérandes.
Si tu veux écrire les valeurs en dur, tu dois donc choisir entre les écritures
Si tu veux utiliser des variables, l'idéal sera donc de veiller à utiliser des variables dont le type permet la représentation de réels (float, double ou long double) et si, dans le pire des cas, il s'avère impossible d'assurer ce point, il faudra avoir recours au static_cast, comme indiqué par fenkys.
- 4/3.0
- 4.0/3 et
- 4.0/3.0 (préférence à celle-ci)
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Et un petit check pour ne pas faire de division par 0.
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager