The number module is accessible via the webhelpers.rails module.
Provides methods for converting numbers into formatted strings. Functions are provided for phone numbers, currencies, percentages, precision, positional notation, and file size.
Formats a number into a currency string.
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'
Returns a formatted-for-humans file size.
Examples:
>>> number_to_human_size(123) '123 Bytes' >>> number_to_human_size(1234) '1.2 KB' >>> number_to_human_size(12345) '12.1 KB' >>> number_to_human_size(1234567) '1.2 MB' >>> number_to_human_size(1234567890) '1.1 GB' >>> number_to_human_size(1234567890123) '1.1 TB' >>> number_to_human_size(1234567, 2) '1.18 MB'
Formats a number as into a percentage string.
Examples:
>>> number_to_percentage(100) '100.000%' >>> number_to_percentage(100, precision=0) '100%' >>> number_to_percentage(302.0574, precision=2) '302.06%'
Formats a number into a US phone number string.
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' >>> number_to_phone(1235551234, area_code=True, extension=555) '(123) 555-1234 x 555' >>> number_to_phone(1235551234, country_code=1) '1-123-555-1234'
Formats a number with grouped thousands using delimiter.
Example:
>>> number_with_delimiter(12345678) '12,345,678' >>> number_with_delimiter(12345678.05) '12,345,678.05' >>> number_with_delimiter(12345678, delimiter=".") '12.345.678'
Formats a number with a level of precision.
Example:
>>> number_with_precision(111.2345) '111.234' >>> number_with_precision(111.2345, 2) '111.23'
See the source for more information.