diff options
author | Andrew White <andyw@pixeltrix.co.uk> | 2010-04-04 17:34:23 +0100 |
---|---|---|
committer | Andrew White <andyw@pixeltrix.co.uk> | 2010-04-04 17:34:23 +0100 |
commit | 00884a59013a658082dab41da5ff41add31b8c43 (patch) | |
tree | 666b862b08b04c7a3727ee22b2cd1a2561af4e52 /actionpack/lib/action_view/helpers/number_helper.rb | |
parent | 48b2451142355b22de5f8130b3debdd4e53e2ba2 (diff) | |
parent | 7d7e0627a0490b6b4ddb0ee5429264ccd46f1245 (diff) | |
download | rails-00884a59013a658082dab41da5ff41add31b8c43.tar.gz rails-00884a59013a658082dab41da5ff41add31b8c43.tar.bz2 rails-00884a59013a658082dab41da5ff41add31b8c43.zip |
Merge branch 'master' of github.com:lifo/docrails
Diffstat (limited to 'actionpack/lib/action_view/helpers/number_helper.rb')
-rw-r--r-- | actionpack/lib/action_view/helpers/number_helper.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/actionpack/lib/action_view/helpers/number_helper.rb b/actionpack/lib/action_view/helpers/number_helper.rb index 605e5d5873..01fecc0f23 100644 --- a/actionpack/lib/action_view/helpers/number_helper.rb +++ b/actionpack/lib/action_view/helpers/number_helper.rb @@ -273,8 +273,12 @@ module ActionView strip_insignificant_zeros = options.delete :strip_insignificant_zeros if significant and precision > 0 - digits = (Math.log10(number) + 1).floor - rounded_number = BigDecimal.new((number / 10 ** (digits - precision)).to_s).round.to_f * 10 ** (digits - precision) + if number == 0 + digits, rounded_number = 1, 0 + else + digits = (Math.log10(number) + 1).floor + rounded_number = BigDecimal.new((number / 10 ** (digits - precision)).to_s).round.to_f * 10 ** (digits - precision) + end precision = precision - digits precision = precision > 0 ? precision : 0 #don't let it be negative else |