1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
NAME
Template::Plugin::Number::Format - Plugin/filter interface to
Number::Format
SYNOPSIS
[% 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.
DESCRIPTION
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 format_price())
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 $number is 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.
SEE ALSO
Template, Number::Format
AUTHOR
darren chamberlain <darren@cpan.org>
|