Template::Plugin::Number::Format3pm
Plugin/filter interface to number::format
Usage
[% USE Number.Format %][% num | format_number %]
Abstract
Template::Plugin::Number::Format makes the number-munging grooviness of Number::Format available to your templates. It is used like a plugin, but installs filters into the current context.
Overview
All filters created by Template::Plugin::Number::Format can be configured by constructor options and options that can be passed to individual filters. See "METHODS" in Number::Format for all the details.
Constructor Parameters
The USE line accepts the following parameters, all optional, which define the default behavior for filters within the current Context:
THOUSANDS_SEP
|
character inserted between groups of 3 digits |
|---|---|
DECIMAL_POINT
|
character separating integer and fractional parts |
MON_THOUSANDS_SEP
|
like THOUSANDS_SEP, but used for format_price |
MON_DECIMAL_POINT
|
like DECIMAL_POINT, but used for format_price |
INT_CURR_SYMBOL
|
character(s) denoting currency (see |
DECIMAL_DIGITS
|
number of digits to the right of dec point (def 2) |
DECIMAL_FILL
|
boolean; whether to add zeroes to fill out decimal |
NEG_FORMAT
|
format to display negative numbers (def -x) |
KILO_SUFFIX
|
suffix to add when format_bytes formats kilobytes |
MEGA_SUFFIX
|
suffix to add when format_bytes formats megabytes |
GIGA_SUFFIX
|
suffix to add when format_bytes formats gigabytes |
Using Template::Plugin::Number::Format
When you invoke:
[% USE Number.Format(option = value) %]
the following filters are installed into the current Context:
round($precision)-
Rounds the number to the specified precision. If "$precision" is omitted, the value of the "DECIMAL_DIGITS" parameter is used (default value 2).
- format_number($precision, $trailing_zeros)
-
Formats a number by adding "THOUSANDS_SEP" between each set of 3 digits to the left of the decimal point, substituting "DECIMAL_POINT" for the decimal point, and rounding to the specified precision using "
round()". Note that "$precision" is a maximum precision specifier; trailing zeroes will only appear in the output if "$trailing_zeroes" is provided, or the parameter "DECIMAL_FILL" is set, with a value that is true (not zero, undef, or the empty string). If "$precision" is omitted, the value of the "DECIMAL_DIGITS" parameter (default value of 2) is used.
format_negative($picture)-
Formats a negative number. Picture should be a string that contains the letter "x" where the number should be inserted. For example, for standard negative numbers you might use "-x", while for accounting purposes you might use "(x)". If the specified number begins with a - character, that will be removed before formatting, but formatting will occur whether or not the number is negative.
format_picture($picture)-
Returns a string based on "$picture" with the "#" characters replaced by digits from "$number". If the length of the integer part of
$numberis too large to fit, the "#" characters are replaced with asterisks ("*") instead.
format_price($precision)-
Returns a string containing "$number" formatted similarly to "
format_number()", except that the decimal portion may have trailing zeroes added to make it be exactly "$precision" characters long, and the currency string will be prefixed.If the "INT_CURR_SYMBOL" attribute of the object is the empty string, no currency will be added.
If "$precision" is not provided, the default of 2 will be used.
format_bytes($precision)-
Returns a string containing "$number" formatted similarly to "
format_number()", except that if the number is over 1024, it will be divided by 1024 and the value of KILO_SUFFIX appended to the end; or if it is over 1048576 (1024*1024), it will be divided by 1048576 and MEGA_SUFFIX appended to the end. Negative values will result in an error.If "$precision" is not provided, the default of 2 will be used.
unformat_number-
Converts a string as returned by "
format_number()", "format_price()", or "format_picture()", and returns the corresponding value as a numeric scalar. Returns "undef" if the number does not contain any digits.
Releases
8 releases since Debian 6.0 (Squeeze); the text changed 3 times.