Provides methods for converting a number into a formatted string that currently represents one of the following forms: phone number, percentage, money, or precision level.

Methods
Public Instance methods
human_size(size)
number_to_currency(number, options = {})

Formates a number into a currency string. The options hash can be used to customize the format of the output. The number can contain a level of precision using the precision key; default is 2 The currency type can be set using the unit key; default is "$" The unit separator can be set using the separator key; default is "." The delimiter can be set using the delimiter key; default is "," 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.50, {:unit => "£", :separator => ",", :delimiter => ""}) => £1234567890,50
    # File vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb, line 39
39:       def number_to_currency(number, options = {})
40:         options = options.stringify_keys
41:         precision, unit, separator, delimiter = options.delete("precision") { 2 }, options.delete("unit") { "$" }, options.delete("separator") { "." }, options.delete("delimiter") { "," }
42:         begin
43:           parts = number_with_precision(number, precision).split('.')
44:           unit + number_with_delimiter(parts[0], delimiter) + separator + parts[1].to_s
45:         rescue
46:           number
47:         end
48:       end
number_to_human_size(size)

Returns a formatted-for-humans file size.

Examples:

  human_size(123)          => 123 Bytes
  human_size(1234)         => 1.2 KB
  human_size(12345)        => 12.1 KB
  human_size(1234567)      => 1.2 MB
  human_size(1234567890)   => 1.1 GB
This method is also aliased as human_size
    # File vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb, line 88
88:       def number_to_human_size(size)
89:         begin
90:           return "%d Bytes" % size                if size < 1.kilobytes
91:           return "%.1f KB" % (size/1.0.kilobytes) if size < 1.megabytes
92:           return "%.1f MB" % (size/1.0.megabytes) if size < 1.gigabytes
93:           return "%.1f GB" % (size/1.0.gigabytes) if size < 1.terabytes
94:           return "%.1f TB" % (size/1.0.terabytes) 
95:         rescue
96:           # just return nothing
97:         end
98:       end
number_to_percentage(number, options = {})

Formats a number as into a percentage string. The options hash can be used to customize the format of the output. The number can contain a level of precision using the precision key; default is 3 The unit separator can be set using the separator key; default is "." Examples:

  number_to_precision(100)    => 100.000%
  number_to_precision(100, {:precision => 0}) => 100%
  number_to_precision(302.0574, {:precision => 2})  => 302.06%
    # File vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb, line 57
57:       def number_to_percentage(number, options = {})
58:         options = options.stringify_keys
59:         precision, separator = options.delete("precision") { 3 }, options.delete("separator") { "." }
60:         begin
61:           number = number_with_precision(number, precision)
62:           parts = number.split('.')
63:           if parts.at(1).nil?
64:             parts[0] + "%"
65:           else
66:             parts[0] + separator + parts[1].to_s + "%"
67:           end
68:         rescue
69:           number
70:         end
71:       end
number_to_phone(number, options = {})

Formats a number into a US phone number string. The options can be hash used to customize the format of the output. The area code can be surrounded by parenthesis by setting +:area_code+ to true; default is false The delimiter can be set using +:delimiter+; default is "-" Examples:

  number_to_phone(1235551234)                       => 123-555-1234
  number_to_phone(1235551234, {:area_code => true}) => (123) 555-1234
  number_to_phone(1235551234, {:delimiter => " "})   => 123 555 1234
    # File vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb, line 14
14:       def number_to_phone(number, options = {})
15:         options = options.stringify_keys
16:         area_code = options.delete("area_code") { false }
17:         delimiter = options.delete("delimiter") { "-" }
18:         begin
19:           str = number.to_s
20:           if area_code == true
21:             str.gsub!(/([0-9]{3})([0-9]{3})([0-9]{4})/,"(\\1) \\2#{delimiter}\\3")
22:           else
23:             str.gsub!(/([0-9]{3})([0-9]{3})([0-9]{4})/,"\\1#{delimiter}\\2#{delimiter}\\3")
24:           end
25:         rescue
26:           number
27:         end
28:       end
number_with_delimiter(number, delimiter=",")

Formats a number with a delimiter. Example:

   number_with_delimiter(12345678) => 12,345,678
    # File vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb, line 76
76:       def number_with_delimiter(number, delimiter=",")
77:         number.to_s.gsub(/(\d)(?=(\d\d\d)+(?!\d))/, "\\1#{delimiter}")
78:       end
number_with_precision(number, precision=3)

Formats a number with a level of precision. Example:

   number_with_precision(111.2345) => 111.235
     # File vendor/rails/actionpack/lib/action_view/helpers/number_helper.rb, line 105
105:       def number_with_precision(number, precision=3)
106:         sprintf("%01.#{precision}f", number)
107:       end