14

I want any items that are rounded such as this:

(5.101 * 100).round / 100.0

To be output like this:

5.10

Instead of this:

5.1

How do I do this in Ruby?

the Tin Man
  • 158,662
  • 42
  • 215
  • 303
William
  • 4,422
  • 17
  • 55
  • 108

2 Answers2

16

There are a couple ways, but I favor using String's % (format) operator:

'%.2f' % [(5.101 * 100).round / 100.0] # => "5.10"

Kernel's sprintf method has the documentation for the various flags and modifiers. There's also Kernel's printf but, like I said, I'd go with %.

the Tin Man
  • 158,662
  • 42
  • 215
  • 303
8

I hope it will help you.

2.0.0p195 :002 > (52.452158744).round(2)
=> 52.45 
2.0.0p195 :003 > (20.452158744).round(2)
=> 20.45 
2.0.0p195 :004 > (20.002555).round(2)
=> 20.0 
2.0.0p195 :005 > (20.012555).round(2)
=> 20.01 
Pravin Mishra
  • 8,298
  • 4
  • 36
  • 49