instance method
number_with_delimiter
Ruby on Rails 3.2.22.5
Since v2.2.3Signature
number_with_delimiter(number, options = {})
Formats a number with grouped thousands using delimiter (e.g., 12,324). You can customize the format in the options hash.
Options
-
:locale- Sets the locale to be used for formatting (defaults to current locale). -
:delimiter- Sets the thousands delimiter (defaults to “,”). -
:separator- Sets the separator between the fractional and integer digits (defaults to “.”). -
:raise- If true, raisesInvalidNumberErrorwhen the argument is invalid.
Examples
number_with_delimiter(12345678) # => 12,345,678 number_with_delimiter("123456") # => 123,456 number_with_delimiter(12345678.05) # => 12,345,678.05 number_with_delimiter(12345678, :delimiter => ".") # => 12.345.678 number_with_delimiter(12345678, :delimiter => ",") # => 12,345,678 number_with_delimiter(12345678.05, :separator => " ") # => 12,345,678 05 number_with_delimiter(12345678.05, :locale => :fr) # => 12 345 678,05 number_with_delimiter("112a") # => 112a number_with_delimiter(98765432.98, :delimiter => " ", :separator => ",") # => 98 765 432,98 number_with_delimiter("112a", :raise => true) # => raise InvalidNumberError
Parameters
-
numberreq -
optionsopt = {}
Source
# File actionpack/lib/action_view/helpers/number_helper.rb, line 264
def number_with_delimiter(number, options = {})
options.symbolize_keys!
options[:delimiter] = ERB::Util.html_escape(options[:delimiter]) if options[:delimiter]
options[:separator] = ERB::Util.html_escape(options[:separator]) if options[:separator]
begin
Float(number)
rescue ArgumentError, TypeError
if options[:raise]
raise InvalidNumberError, number
else
return number
end
end
defaults = I18n.translate(:'number.format', :locale => options[:locale], :default => {})
options = options.reverse_merge(defaults)
parts = number.to_s.to_str.split('.')
parts[0].gsub!(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1#{options[:delimiter]}")
parts.join(options[:separator]).html_safe
end
Defined in actionpack/lib/action_view/helpers/number_helper.rb line 264
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionView::Helpers::NumberHelper