Formats a number
with the specified level of
:precision
(e.g., 112.32 has a precision of 2 if
:significant
is false
, and 5 if
:significant
is true
). You can customize the
format in the options
hash.
Options
-
:locale
- Sets the locale to be used for formatting (defaults to current locale). -
:precision
- Sets the precision of the number (defaults to 3). -
:significant
- Iftrue
, precision will be the # of significant_digits. Iffalse
, the # of fractional digits (defaults tofalse
). -
:separator
- Sets the separator between the fractional and integer digits (defaults to â.â). -
:delimiter
- Sets the thousands delimiter (defaults to ââ). -
:strip_insignificant_zeros
- Iftrue
removes insignificant zeros after the decimal separator (defaults tofalse
). -
:raise
- If true, raisesInvalidNumberError
when the argument is invalid.
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(111.2345, significant: true) # => 111 number_with_precision(111.2345, precision: 1, significant: true) # => 100 number_with_precision(13, precision: 5, significant: true) # => 13.000 number_with_precision(111.234, locale: :fr) # => 111,234 number_with_precision(13, precision: 5, significant: true, strip_insignificant_zeros: true) # => 13 number_with_precision(389.32314, precision: 4, significant: true) # => 389.3 number_with_precision(1111.2345, precision: 2, separator: ',', delimiter: '.') # => 1.111,23
Please login to continue.