Ticket #11409: number_with_precision_fix.diff
| File number_with_precision_fix.diff, 1.4 kB (added by zhangyuanyi, 2 years ago) |
|---|
-
actionpack/test/template/number_helper_test.rb
old new 56 56 57 57 def test_number_with_precision 58 58 assert_equal("111.235", number_with_precision(111.2346)) 59 assert_equal("31.83", number_with_precision(31.825, 2)) 59 60 assert_equal("111.23", number_with_precision(111.2346, 2)) 60 61 assert_equal("111.00", number_with_precision(111, 2)) 61 62 assert_equal("111.235", number_with_precision("111.2346")) 63 assert_equal("31.83", number_with_precision("31.825", 2)) 62 64 assert_equal("112", number_with_precision(111.50, 0)) 63 65 assert_equal("1234567892", number_with_precision(1234567891.50, 0)) 64 66 -
actionpack/lib/action_view/helpers/number_helper.rb
old new 148 148 # number_with_precision(13, 5) # => 13.00000 149 149 # number_with_precision(389.32314, 0) # => 389 150 150 def number_with_precision(number, precision=3) 151 "%01.#{precision}f" % number151 "%01.#{precision}f" % ((Float(number) * (10 ** precision)).round.to_f / 10 ** precision) 152 152 rescue 153 153 number 154 154 end