Je ne sais pas beaucoup sur Ruby.
Mais il s'agit d'un problème d'affichage . Je serais extrêmement surpris si les bibliothèques que vous utilisez n'ont pas le moyen de formater un nombre lorsque vous le convertissez en chaîne.
Il se peut qu'il n'y ait pas d'option de formatage catch-all qui fasse exactement ce que vous voulez mais vous pouvez configurer une méthode qui renvoie true si float est la représentation flottante d'un nombre entier et false sinon. À l'intérieur d'une routine de formatage que vous créez (vous n'avez donc à le faire qu'une seule fois), changez simplement la mise en forme en fonction de si elle est vraie ou fausse.
This explique comment contrôler le nombre de chiffres qui apparaissent après la virgule lors de l'affichage d'un nombre.
Méfiez-vous des subtilités des représentations à virgule flottante. Math peut dire que la réponse est 3 mais vous pouvez obtenir 3.000000000000000000001. Je suggère d'utiliser un delta pour voir si le nombre est presque un nombre entier.
Ceci est vrai, mais je veux qu'il affiche de cette façon * partout * un résultat flottant sous la forme d'une chaîne. Fondamentalement, je veux remplacer la méthode Float.to_s, ou accrocher cette logique à la fin de celui-ci. –