107 votes

Comment faire en sorte que C++ cout n'utilise pas la notation scientifique

double x = 1500;
for(int k = 0; k<10 ; k++){
    double t = 0;
    for(int i=0; i<12; i++){
        t += x * 0.0675;
        x += x * 0.0675;
    }
    cout<<"Bas ana: "<

`

Voici la sortie

Bas ana: 3284.78 Son faiz: 1784.78 Son ana: 5069.55

Bas ana: 7193.17 Son faiz: 3908.4 Son ana: 11101.6

Bas ana: 15752 Son faiz: 8558.8 Son ana: 24310.8

Bas ana: 34494.5 Son faiz: 18742.5 Son ana: 53237

Bas ana: 75537.8 Son faiz: 41043.3 Son ana: 116581

Bas ana: 165417 Son faiz: 89878.7 Son ana: 255295

Bas ana: 362238 Son faiz: 196821 Son ana: 559059

Bas ana: 793246 Son faiz: 431009 Son ana: 1.22426e+006

Bas ana: 1.73709e+006 Son faiz: 943845 Son ana: 2.68094e+006

Bas ana: 3.80397e+006 Son faiz: 2.06688e+006 Son ana: 5.87085e+006

Je veux que les chiffres soient affichés avec des chiffres exacts et non en notation scientifique. Comment puis-je faire cela?

`

2voto

zig razor Points 1079

Vous pouvez utiliser la fonction fixed de cette manière :

std::cout << std::fixed << ...

Ou vous pouvez utiliser la fonction printf avec un format standard comme "12.12%f" de cette manière :

printf ("nombre = %12.12f", nombre_flottant);

1voto

Charlie Martin Points 62306

Il existe toute une collection d'opérateurs de formatage que vous obtenez avec iostream. Voici un tutoriel pour vous aider à démarrer.

0voto

Apurv Jha Points 612

Vous pouvez également utiliser printf en c++ pour afficher la valeur sans notation scientifique.

Comme vous pouvez également utiliser cin et cout à la place de scanf et printf, cependant, si vous prenez un million de nombres en entrée et imprimez un million de lignes, il est plus rapide d'utiliser scanf et printf.

#include
#include

  int main () { 
  double a = pow(2,99); 
  printf ("%lf\n",a); 
  return 0; 
  }

Sortie

633825300114114700748351602688.000000

0voto

Utilisez ce code :

double x = 1500;
  for(int k = 0; k<10 ; k++){
    double t = 0;
    for(int i=0; i<12; i++){
        t += x * 0.0675;
        x += x * 0.0675;
    }
    cout<<"Bas ana: "<< fixed << x <<"\tSon faiz: "<

``

  • Vous pouvez utiliser << fixed << pour afficher des nombres exacts et non scientifiques.

  • C'est une petite correction facile ;)

Si vous voulez que la sortie soit avec 2 décimales, vous pouvez utiliser ce code :

(Utilisez #include et ensuite tapez << setprecision(n) << " après " << fixed << , où 'n' est le nombre de décimales que vous souhaitez. Ainsi, dans votre cas, vous pouvez utiliser 2 pour n et obtenir 2 décimales. Le code complet est écrit ci-dessous.)

#include
#include

using namespace std;

int main() {
  double x = 1500;
  for(int k = 0; k<10 ; k++){
    double t = 0;
    for(int i=0; i<12; i++){
        t += x * 0.0675;
        x += x * 0.0675;
    }
    cout<<"Bas ana: " << fixed << setprecision(2) << x <<"\tSon faiz: "<

``

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X