J'essaie d'ajouter des nombres doubles qui commencent par 0,5,0,6 ... à 179,9,180.0. Pour ce faire, j'ai utilisé le code suivant;C++ Builder et Double Precision
void __fastcall TForm1::FormCreate(TObject *Sender)
{
for (double i = 1; i <= 180; i+=0.1) {
listDegrees->Items->Add(i);
}
}
mais quand je lance le programme, il montre quelque chose comme ceci:
Comment puis-je réduire le nombre que deux précision?
édité:
J'ai un projet pour mon école. Nous ferons quelques activités avec des circuits électroniques de sorte que, lorsque je choisis une coordonnée du programme, le circuit électronique tournera à droite/à gauche/vers le bas ou vers le haut. Alors que j'ai besoin de ça.
le programme devrait être l'application de Windows pour être utile pour tout le monde. la capture d'écran du programme est comme ça; http://i.imgur.com/APRB8WY.png
jusqu'à présent tout le code que j'ai est que j'ai partagé auparavant. Je devine, je dois éditer ListBox1-> Items-> Add (i); partie de mon code pour faire face à ce problème.
voir http://programmers.stackexchange.com/questions/101163/what-causes-floating-point-rounding-errors. Si la précision est vraiment importante pour vous, pensez à utiliser une bibliothèque décimale. – Dunes
Il s'agit d'un problème lié à l'impression des nombres à virgule flottante. Veuillez montrer la partie de votre code qui imprime les nombres. – NicholasM