77 votes

Comment vous arrondir un flotteur à deux décimales dans jruby

<p>JRuby 1.6.x. Comment vous arrondir un flotteur à la décimale dans jruby.<pre><code></code></pre><p>Comment faire ce tour avec 2 décimales ?</p></p>

139voto

boulder_ruby Points 6257
(5.65235534).round(2)
#=> 5.65

89voto

Theo Points 60103

sprintf('%.2f', number) est une énigme, mais très puissant moyen de mise en forme des nombres. Le résultat est toujours une chaîne de caractères, mais puisque vous êtes arrondissement je suppose que vous le faites pour des raisons de présentation, de toute façon. sprintf pouvez formater un nombre presque de la même manière que vous aimez, et beaucoup plus.

Plein sprintf de la documentation: http://www.ruby-doc.org/core-2.0.0/Kernel.html#method-i-sprintf

44voto

steenslag Points 29662

Float#ronde peut prendre un paramètre dans Ruby 1.9, pas en Ruby 1.8. JRuby est par défaut à 1,8, mais il est capable de courir dans 1,9 mode.

-9voto

pour tronquer un nombre décimal, j'ai utilisé le code ci-dessous:

<th><%#= sprintf("%0.01f",prom/total) %><!--1dec,aprox-->
    <% if prom == 0 or total == 0 %>
        N.E.
    <% else %>
        <%= Integer((prom/total).to_d*10)*0.1 %><!--1decimal,truncado-->
    <% end %>
        <%#= prom/total %>
</th>

Si vous souhaitez tronquer à 2 décimales, vous devez utiliser Integr(a*100)*0.01

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by: