number_with_precision
- 1.0.0 (0)
- 1.1.6 (0)
- 1.2.6 (2)
- 2.0.3 (4)
- 2.1.0 (0)
- 2.2.1 (15)
- 2.3.8 (0)
- 3.0.0 (21)
- 3.0.9 (-1)
- 3.1.0 (0)
- 3.2.1 (7)
- 3.2.8 (-5)
- 3.2.13 (0)
- 4.0.2 (-1)
- 4.1.8 (0)
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (0)
- 5.1.7 (0)
- 5.2.3 (0)
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (-38)
- 7.1.3.4 (0)
- What's this?
number_with_precision(number, options = {})
public
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 - If true, precision will be the number of significant_digits. If false, the number of fractional digits (defaults to false).
-
:separator - Sets the separator between the fractional and integer digits (defaults to “.”).
-
:delimiter - Sets the thousands delimiter (defaults to “”).
-
:strip_insignificant_zeros - If true removes insignificant zeros after the decimal separator (defaults to false).
-
:raise - If true, raises InvalidNumberError 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
Separator default is not always "." but depends on locale
Locale en:
number_with_precision(111.2345) # => 111.235
Locale fr-FR:
number_with_precision(111.2345) # => 111,235
Same with delimiter.