Γιατί ... δεν είναι λάθος! Οι floating point αριθμοί δεν έχουν εγγυημένη ακρίβεια καθώς αναπαριστούν κάθε αριθμό ως γινόμενο ενός πολλαπλασιαστή με μία δύναμη του 10. Αν δεν υπάρχουν αρκετά bits για να παρουσιαστεί ο πολλαπλασιαστής, θα εμφανιστούν τέτοια προβλήματα. Γι αυτό και ποτέ δεν ελέγχουμε floating point αριθμούς για ισότητα, αλλά ελέγχουμε αν διαφέρουν κατά μία πολύ μικρή τιμή.
Αν θέλεις κάποιο τύπο ο οποίος αναπαριστά δεκαδικούς χωρίς προβλήματα προσέγγισης, χρησιμοποίησε τον decimal.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos