7
votes

C - Impression des valeurs de flotteur

J'ai un programme C ++ qui prend des valeurs et imprime des valeurs telles que ceci:

fscanf(rhs, "%e", &number);
printf("%lf\n", number);


2 commentaires

Voulez-vous modifier les résultats C pour correspondre au C ++ ou vice-versa?


Correct, je veux que le résultat C correspond à la C ++.


3 Réponses :


12
votes

Profitez des spécificateurs de longueur et de précision dans les relevés d'impression formatés C:

int precision = 4;

printf( "%6.*lf", precision, number );


0 commentaires

11
votes

Profitez des spécificateurs de longueur et de précision en C ++ iostream S xxx


1 commentaires

Vous pouvez également définir une précision directement dans ce flux: "STD :: COUT << 42.1 << STD :: SETPRecision (4) << STD :: endl;"



5
votes
printf("%g\n", number); 
Will solve your problem, %lf is used for double, %f is used for float, and %g is used for float when you want to display all the decimal places and cut off zeros.

0 commentaires