Skip to Content Skip to Search

module ActionView::Helpers::NumberHelper

Action View Number Helpers

Provides methods for converting numbers into formatted strings. Methods are provided for phone numbers, currency, percentage, precision, positional notation, file size, and pretty printing.

Most methods expect a number argument, and will return it unchanged if can’t be converted into a valid number.

Public instance methods

Delegates to ActiveSupport::NumberHelper#number_to_currency.

number_to_currency("1234")               # => "$1234.00"

Additionally, supports a :raise option that will cause InvalidNumberError to be raised if number is not a valid number:

number_to_currency("12x34")              # => "$12x34"
number_to_currency("12x34", raise: true) # => InvalidNumberError
Source code GitHub
# File actionview/lib/action_view/helpers/number_helper.rb, line 55
def number_to_currency(number, options = {})
  delegate_number_helper_method(:number_to_currency, number, options)
end

Delegates to ActiveSupport::NumberHelper#number_to_human.

number_to_human("1234")               # => "1.23 Thousand"

Additionally, supports a :raise option that will cause InvalidNumberError to be raised if number is not a valid number:

number_to_human("12x34")              # => "12x34"
number_to_human("12x34", raise: true) # => InvalidNumberError
Source code GitHub
# File actionview/lib/action_view/helpers/number_helper.rb, line 125
def number_to_human(number, options = {})
  delegate_number_helper_method(:number_to_human, number, options)
end

Delegates to ActiveSupport::NumberHelper#number_to_human_size.

number_to_human_size("1234")               # => "1.21 KB"

Additionally, supports a :raise option that will cause InvalidNumberError to be raised if number is not a valid number:

number_to_human_size("12x34")              # => "12x34"
number_to_human_size("12x34", raise: true) # => InvalidNumberError
Source code GitHub
# File actionview/lib/action_view/helpers/number_helper.rb, line 111
def number_to_human_size(number, options = {})
  delegate_number_helper_method(:number_to_human_size, number, options)
end

Delegates to ActiveSupport::NumberHelper#number_to_percentage.

number_to_percentage("99")               # => "99.000%"

Additionally, supports a :raise option that will cause InvalidNumberError to be raised if number is not a valid number:

number_to_percentage("99x")              # => "99x%"
number_to_percentage("99x", raise: true) # => InvalidNumberError
Source code GitHub
# File actionview/lib/action_view/helpers/number_helper.rb, line 69
def number_to_percentage(number, options = {})
  delegate_number_helper_method(:number_to_percentage, number, options)
end

Delegates to ActiveSupport::NumberHelper#number_to_phone.

number_to_phone("1234567890")         # => "123-456-7890"

Additionally, supports a :raise option that will cause InvalidNumberError to be raised if number is not a valid number:

number_to_phone("12x34")              # => "12x34"
number_to_phone("12x34", raise: true) # => InvalidNumberError
Source code GitHub
# File actionview/lib/action_view/helpers/number_helper.rb, line 37
def number_to_phone(number, options = {})
  return unless number
  options = options.symbolize_keys

  parse_float(number, true) if options.delete(:raise)
  ERB::Util.html_escape(ActiveSupport::NumberHelper.number_to_phone(number, options))
end

Delegates to ActiveSupport::NumberHelper#number_to_delimited.

number_with_delimiter("1234")               # => "1,234"

Additionally, supports a :raise option that will cause InvalidNumberError to be raised if number is not a valid number:

number_with_delimiter("12x34")              # => "12x34"
number_with_delimiter("12x34", raise: true) # => InvalidNumberError
Source code GitHub
# File actionview/lib/action_view/helpers/number_helper.rb, line 83
def number_with_delimiter(number, options = {})
  delegate_number_helper_method(:number_to_delimited, number, options)
end

Delegates to ActiveSupport::NumberHelper#number_to_rounded.

number_with_precision("1234")               # => "1234.000"

Additionally, supports a :raise option that will cause InvalidNumberError to be raised if number is not a valid number:

number_with_precision("12x34")              # => "12x34"
number_with_precision("12x34", raise: true) # => InvalidNumberError
Source code GitHub
# File actionview/lib/action_view/helpers/number_helper.rb, line 97
def number_with_precision(number, options = {})
  delegate_number_helper_method(:number_to_rounded, number, options)
end

Namespace

Definition files