method
number_with_precision
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 # of significant_digits. If false, the # 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)
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
Register or
log in
to add new notes.
clescuyer -
July 9, 2010 - (>= v2.2.1)
0 thanks
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.