# Rounding problem

**URL:** <https://discuss.rubyonrails.org/t/rounding-problem/50517>\
**Category:** rubyonrails-talk\
**Created:** [March 30, 2010, 8:21am UTC](https://discuss.rubyonrails.org/t/rounding-problem/50517 "2010-03-30T08:21:46Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![JanneKo](https://avatars.discourse-cdn.com/v4/letter/j/3e96dc/32.png) [@JanneKo](https://discuss.rubyonrails.org/u/JanneKo)\
**Post date:** [March 30, 2010, 8:21am UTC](https://discuss.rubyonrails.org/t/rounding-problem/50517/1 "2010-03-30T08:21:46Z")

</div>

Hi,

I have a strange problem with number rounding: If I try "a\_number.round(2)" in console - it works, but the same line thru passenger fails: "wrong number of arguments (1 for 0)". Any ideas why?

I'm running rails 2.3.4 and passenger 2.2.9

---

<div class="post-metadata">

**Author:** ![Con](https://avatars.discourse-cdn.com/v4/letter/c/9fc29f/32.png) [@Con](https://discuss.rubyonrails.org/u/Con)\
**Post date:** [March 30, 2010, 9:20am UTC](https://discuss.rubyonrails.org/t/rounding-problem/50517/2 "2010-03-30T09:20:14Z")

</div>

> Hi,
> 
> I have a strange problem with number rounding:
> 
> If I try “a\_number.round(2)” in console - it works, but the same line
> 
> thru passenger fails: “wrong number of arguments (1 for 0)”.
> 
> Any ideas why?
> 
> I’m running rails 2.3.4 and passenger 2.2.9

Hi, what’s the value of a\_number being used?

-Conrad

---

<div class="post-metadata">

**Author:** ![Frederick\_Cheung](https://sea2.discourse-cdn.com/rubyonrails/user_avatar/discuss.rubyonrails.org/frederick_cheung/32/3901_2.png) [@Frederick\_Cheung](https://discuss.rubyonrails.org/u/Frederick_Cheung)\
**Post date:** [March 30, 2010, 9:30am UTC](https://discuss.rubyonrails.org/t/rounding-problem/50517/3 "2010-03-30T09:30:15Z")

</div>

> Hi,
> 
> I have a strange problem with number rounding: If I try "a\_number.round(2)" in console - it works, but the same line thru passenger fails: "wrong number of arguments (1 for 0)". Any ideas why?

Is a\_number an integer ? rails overrides round to allow it to take a precision argument, but it only does that on Float - Integers still have the standard round method, which does not take a precision argument.

Fred

---

<div class="post-metadata">

**Author:** ![JanneKo](https://avatars.discourse-cdn.com/v4/letter/j/3e96dc/32.png) [@JanneKo](https://discuss.rubyonrails.org/u/JanneKo)\
**Post date:** [March 30, 2010, 9:58am UTC](https://discuss.rubyonrails.org/t/rounding-problem/50517/4 "2010-03-30T09:58:47Z")

</div>

Thanks for the answers - This solved my problem partly. In database (mysql) the number is a decimal - but for some reason it seems to be an integer in rails if it's decimals are zeros.

Janne

---

<div class="post-metadata">

**Author:** ![Joel\_Dezenzio](https://avatars.discourse-cdn.com/v4/letter/j/96bed5/32.png) [@Joel\_Dezenzio](https://discuss.rubyonrails.org/u/Joel_Dezenzio)\
**Post date:** [March 30, 2010, 2:40pm UTC](https://discuss.rubyonrails.org/t/rounding-problem/50517/5 "2010-03-30T14:40:36Z")

</div>

class Float &nbsp;&nbsp;def round\_to(x) &nbsp;&nbsp;&nbsp;&nbsp;(self \* 10\*\*x).round.to\_f / 10\*\*x &nbsp;&nbsp;end end

then you can use round\_to(2)

Sincerely,

Joel Dezenzio Website Bio: [http://jdezenzio.com/](http://jdezenzio.com/) Rails Production Sites: [http://ncaastatpages.com](http://ncaastatpages.com)

---

<div class="post-metadata">

**Author:** ![Michael\_Pavling](https://avatars.discourse-cdn.com/v4/letter/m/8dc957/32.png) [@Michael\_Pavling](https://discuss.rubyonrails.org/u/Michael_Pavling)\
**Post date:** [March 30, 2010, 4:03pm UTC](https://discuss.rubyonrails.org/t/rounding-problem/50517/6 "2010-03-30T16:03:32Z")

</div>

To avoid floating point errors, you might as well just do : (self \* 1.0).round.(x) or self.to\_f.round.(x)

And wouldn't that be a patch to class Integer, as Float already has .round working fine? Or am I missing something ?:-/

---

<div class="post-metadata">

**Author:** ![Charles\_A\_Lopez](https://avatars.discourse-cdn.com/v4/letter/c/e9c0ed/32.png) [@Charles\_A\_Lopez](https://discuss.rubyonrails.org/u/Charles_A_Lopez)\
**Post date:** [March 30, 2010, 6:09pm UTC](https://discuss.rubyonrails.org/t/rounding-problem/50517/7 "2010-03-30T18:09:27Z")

</div>

what is the range of values that you’re working with? 0 to 100, -3000 to 4000?
