Est-ce que Ruby a un bug dans son arrondissement? Pourquoi faut-il se comporte comme ceci:Arrondi incohérent dans Ruby?
>> [1.14, 1.15, 1.16].map{|x| "%.1f" % x}
=> ["1.1", "1.1", "1.2"]
>> [1.4, 1.5, 1.6].map{|x| "%.0f" % x}
=> ["1", "2", "2"]
comme, pourquoi 1,15 arrondi à 1,1 obtenir, mais 1,5 obtient arrondie à 2? À tout le moins, n'est-ce pas incompatible? le comportement est le même dans ruby 1.9.1 et ruby 1.8.7.
duplication possible de [Pourquoi sprl de Perl ne arrondit pas correctement les nombres à virgule flottante?] (Http://stackoverflow.com/questions/1651671/why-does-perls-sprintf-not-round-floating-point-numbers- correctement) –