Le code suivant affiche les nombres à virgule flottante en notation scientifique:Comment afficher des nombres à virgule flottante avec une mantisse définie sur zéro en C++?
float foo = 1.0;
::cout::setf(::std::ios::scientific);
::std::cout << foo;
Il produit cette sortie:
1.000000e-000
Ce que je voudrais faire est l'affichage des nombres à virgule flottante dans une notation spécifique ressemble à la notation scientifique mais avec une mantisse mise à zéro. Avec le même nombre à virgule flottante comme ci-dessus, il produirait:
0.100000e+001
En C, je crois que ce serait écrit ainsi:
printf("%.6E", foo);
Mise à jour: En fait, je ne sais pas comment le faire en C aussi bien. Update2: L'exemple utilisant le formatage iostream était incorrect. Je l'ai modifié selon le commentaire de Michael Burr.
printf ("%. 0f", foo); – aviraldg
Merci, mais je veux vraiment savoir comment faire cela sans utiliser printf – Boule
Vous avez tous les deux tort. * Ni *% .6E ni% .0f ne permettent à printf d'afficher un nombre dans le format désiré. –