La précision des float n’est pas infinie. Suivant votre cas d’utilisation il faut y faire très attention.
« C’est 1€ pour ce délicieux chocolat. »
« Parfait, j’ai 10 pièces de 10 centimes. »
« Désolé, c’est pas assez ! »
Ruby peut résoudre ce problème grâce au type Rational, qu’il gère nativement.
« Ok, maintenant vous avez assez. »
Le lien vers la documentation Ruby de Rational