Bien que la résolution d'un problème sur un site Web particulier, j'ai écrit ce code:de requête qui concerne le double en C++
#include <iostream>
int main()
{
long l{12345678912345};
char ch{'a'};
double d{14049.30493};
std::cout << l <<'\n' << ch <<'\n' << d <<'\n';
return 0;
}
Étonnamment, la sortie du double était 14049,3, pas le nombre total. Si je mentionne explicitement
std::cout.precision(10);
puis il imprime le nombre entier. Qu'est-ce que je fais mal?
Lire http://floating-point-gui.de/ –
Si 'std :: court.precision (10)' 'résout le problème, ne devrait-il pas être assez explicite quel était le problème? – George
@DreamsOfElectricSheep Non, pour moi. Existe-t-il une règle générale sur la précision du double utilisé en C++? Je ne pouvais pas trouver. – anotherone