instance method
number_to_currency
Ruby on Rails 6.0.6
Since v2.2.3Signature
number_to_currency(number, options = {})
Formats a number into a currency string (e.g., $13.65). You can customize the format in the options hash.
The currency unit and number formatting of the current locale will be used unless otherwise specified in the provided options. No currency conversion is performed. If the user is given a way to change their locale, they will also be able to change the relative value of the currency displayed with this helper. If your application will ever support multiple locales, you may want to specify a constant :locale option or consider using a library capable of currency conversion.
Options
-
:locale- Sets the locale to be used for formatting (defaults to current locale). -
:precision- Sets the level of precision (defaults to 2). -
:unit- Sets the denomination of the currency (defaults to “$”). -
:separator- Sets the separator between the units (defaults to “.”). -
:delimiter- Sets the thousands delimiter (defaults to “,”). -
:format- Sets the format for non-negative numbers (defaults to “%u%n”). Fields are%ufor the currency, and%nfor the number. -
:negative_format- Sets the format for negative numbers (defaults to prepending a hyphen to the formatted number given by:format). Accepts the same fields than:format, except%nis here the absolute value of the number. -
:raise- If true, raisesInvalidNumberErrorwhen the argument is invalid. -
:strip_insignificant_zeros- Iftrueremoves insignificant zeros after the decimal separator (defaults tofalse).
Examples
number_to_currency(1234567890.50) # => $1,234,567,890.50 number_to_currency(1234567890.506) # => $1,234,567,890.51 number_to_currency(1234567890.506, precision: 3) # => $1,234,567,890.506 number_to_currency(1234567890.506, locale: :fr) # => 1 234 567 890,51 € number_to_currency("123a456") # => $123a456 number_to_currency("123a456", raise: true) # => InvalidNumberError number_to_currency(-0.456789, precision: 0) # => "$0" number_to_currency(-1234567890.50, negative_format: "(%u%n)") # => ($1,234,567,890.50) number_to_currency(1234567890.50, unit: "R$", separator: ",", delimiter: "") # => R$1234567890,50 number_to_currency(1234567890.50, unit: "R$", separator: ",", delimiter: "", format: "%n %u") # => 1234567890,50 R$ number_to_currency(1234567890.50, strip_insignificant_zeros: true) # => "$1,234,567,890.5"
Parameters
-
numberreq -
optionsopt = {}
Source
# File actionview/lib/action_view/helpers/number_helper.rb, line 127
def number_to_currency(number, options = {})
delegate_number_helper_method(:number_to_currency, number, options)
end
Defined in actionview/lib/action_view/helpers/number_helper.rb line 127
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionView::Helpers::NumberHelper