En supposant que vous effectuez la division.
En utilisant cout
:
i) Si la partie décimale se révéler .000000
, puis en utilisant cout
imprimera seulement le nombre entier (le nombre entier) partie.
ii) Si la partie décimale s'avère être autre chose que .000000
, alors cout
imprime également la partie décimale.
Ainsi, dans les deux cas, cout
conduira au comportement dont vous avez besoin.
printf()
à l'aide i) Si la partie décimale se révèle être .000000
, puis en utilisant printf()
imprimera le nombre entier, suivi de la partie décimale, par exemple, 3.000000
. Dans ce cas, vous devrez le gérer manuellement pour que la sortie soit juste 3
. Ii) Si la partie décimale n'est pas .000000
, alors printf()
affichera la sortie comme 3.123456
.
Veuillez voir le code ci-dessous. J'utilise le fait que si le reste de la division est 0, alors cela signifie que la partie décimale est .000000
et typecasting les numéros à int
avant de les imprimer. Vous devrez peut-être utiliser une approche différente comme indiqué ci-dessus.
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
double num1=270.0, num2=90.0;
cout<<num1/num2<<"\n"; //prints just 3
printf("%f\n", num1/num2); //prints 3.000000
if((int)num1%(int)num2==0) //means num1 is a multiple of num2. So decimal is .000000
printf("%d\n", (int)num1/(int)num2);
num2=91.0;
cout<<num1/num2<<"\n"; //prints 2.96703
printf("%f\n", num1/num2); //prints 2.967033
if((int)num1%(int)num2!=0)
printf("%f\n", num1/num2);
return 0;
}
Démonstration en direct here.
Alors, quel est votre problème? À quelle erreur faites-vous face? –
Simplement 'std :: cout << 95.7 << '' << 90.0 << '\';' affiche par défaut les valeurs que vous avez demandées. N'avez-vous pas vraiment écrit du code et regardé? Si vous avez du code qui ne fonctionne pas, postez-le et montrez-nous le résultat que vous obtenez. –
Quand j'écris: cout << setprecition (1) << fixe. Cela ne me donne pas de résultat attendu. Au lieu d'imprimer 90, il imprime 90.0 – Allen