I'm working with an external api in a Ruby on Rails app. I need to send in floats to this company but they only accept values like 1.0
, 1.25
, 1.5
, 1.75
, 2.0
, etc.
I may have a value like 1.34
or 1.80
. I ideally need to round them to the nearest 0.25
. What's the best way to accomplish this? if I do 1.34.round(0)
it'll give me 1.0
which is lower than I need.
Thanks!
(1.27 * 4).round / 4.0
#=> 1.25
If you're going to use it often, it would make perfect sense to monkey patch the Float
class, to make the usage simpler:
class Float
def round_to_quarter
(self * 4).round / 4.0
end
end
1.27.round_to_quarter
#=> 1.25
1.52.round_to_quarter
#=> 1.5
1.80.round_to_quarter
#=> 1.75
1.88.round_to_quarter
#=> 2.0
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With