Een probleempje met een paar doubles. Het is echt supervaag en ik kom er absoluut niet uit.
Het volgende:
Doet zijn werk prima en print netjes "blaat" op het scherm.
En deze:
Doet het ook prima en print netjes "blaat" op het scherm.
Maar wanneer ik deze doe:
Gebeurt er helemaal niks. En de waarden die ik bij de laatste in de doubles stop zijn precies dezelfde als in de voorbeelden daarboven. Wanneer ik die met "cout" print zijn ze exact gelijk.
Is er iets met doubles in C++ wat ik blijkbaar niet weet
Het volgende:
C++:
1
2
3
4
5
6
7
| if ((2307.21 >= 2307.21 && 2307.21 <= 2307.25) || (2307.21 >= 2307.25 && 2307.21 <= 2307.21)) { if ((281.219 >= 281.219 && 281.219 <= 281.272) || (281.219 >= 281.272 && 281.219 <= 281.219)) { cout << "blaat" << endl; } } |
Doet zijn werk prima en print netjes "blaat" op het scherm.
En deze:
C++:
1
2
3
4
5
6
7
8
| double tx = 2307.21, ty = 281.219, x1 = 2307.21, y1 = 281.219; double x2 = 2307.25, y2 = 281.272; if ((tx >= x1 && tx <= x2) || (tx >= x2 && tx <= x1)) { if ((ty >= y1 && ty <= y2) || (ty >= y2 && ty <= y1)) { cout << "blaat" << endl; } } |
Doet het ook prima en print netjes "blaat" op het scherm.
Maar wanneer ik deze doe:
C++:
1
2
3
4
5
6
7
8
9
| double tx = trackPtr->x, ty = trackPtr->y; double x1 = leafParents[0].x1, y1 = leafParents[0].y1; double x2 = leafParents[0].x2, y2 = leafParents[0].y2; if ((tx >= x1 && tx <= x2) || (tx >= x2 && tx <= x1)) { if ((ty >= y1 && ty <= y2) || (ty >= y2 && ty <= y1)) { cout << "blaat" << endl; } } |
Gebeurt er helemaal niks. En de waarden die ik bij de laatste in de doubles stop zijn precies dezelfde als in de voorbeelden daarboven. Wanneer ik die met "cout" print zijn ze exact gelijk.
Is er iets met doubles in C++ wat ik blijkbaar niet weet
[ Voor 13% gewijzigd door Verwijderd op 04-04-2003 05:48 . Reden: layout verpest ]