instance method
number_with_precision
Ruby on Rails 2.3.18
Since v2.2.3Signature
number_with_precision(number, *args)
Formats a number with the specified level of :precision (e.g., 112.32 has a precision of 2). You can customize the format in the options hash.
Options
-
:precision- Sets the level of precision (defaults to 3). -
:separator- Sets the separator between the units (defaults to “.”). -
:delimiter- Sets the thousands delimiter (defaults to “”).
Examples
number_with_precision(111.2345) # => 111.235 number_with_precision(111.2345, :precision => 2) # => 111.23 number_with_precision(13, :precision => 5) # => 13.00000 number_with_precision(389.32314, :precision => 0) # => 389 number_with_precision(1111.2345, :precision => 2, :separator => ',', :delimiter => '.') # => 1.111,23
You can still use number_with_precision with the old API that accepts the precision as its optional second parameter:
number_with_precision(number_with_precision(111.2345, 2) # => 111.23
Parameters
-
numberreq -
argsrest
Source
# File actionpack/lib/action_view/helpers/number_helper.rb, line 196
def number_with_precision(number, *args)
options = args.extract_options!
options.symbolize_keys!
defaults = I18n.translate(:'number.format', :locale => options[:locale], :raise => true) rescue {}
precision_defaults = I18n.translate(:'number.precision.format', :locale => options[:locale],
:raise => true) rescue {}
defaults = defaults.merge(precision_defaults)
unless args.empty?
ActiveSupport::Deprecation.warn('number_with_precision takes an option hash ' +
'instead of a separate precision argument.', caller)
precision = args[0] || defaults[:precision]
end
precision ||= (options[:precision] || defaults[:precision])
separator ||= (options[:separator] || defaults[:separator])
delimiter ||= (options[:delimiter] || defaults[:delimiter])
begin
rounded_number = (Float(number) * (10 ** precision)).round.to_f / 10 ** precision
number_with_delimiter("%01.#{precision}f" % rounded_number,
:separator => separator,
:delimiter => delimiter)
rescue
number
end
end
Defined in actionpack/lib/action_view/helpers/number_helper.rb line 196
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionView::Helpers::NumberHelper