12.3 Number Formatting
Number Formatting
string format-number(number, string, string?)
The format-number function converts its first
argument to a string using the format pattern string specified by the
second argument and the decimal-format named by the third argument, or
the default decimal-format, if there is no third argument. The format
pattern string is in the syntax specified by the JDK 1.1 DecimalFormat class. The format pattern string is in a
localized notation: the decimal-format determines what characters have
a special meaning in the pattern (with the exception of the quote
character, which is not localized). The format pattern must not
contain the currency sign (#x00A4); support for this feature was added
after the initial release of JDK 1.1. The decimal-format name must be
a QName, which is expanded as
described in [Qualified Names]. It is an error if the stylesheet
does not contain a declaration of the decimal-format with the specified
expanded-name.
NOTE:
Implementations are not required to use the JDK 1.1
implementation, nor are implementations required to be implemented in
Java.
NOTE:
Stylesheets can use other facilities in XPath to control
rounding.
<
decimal-format
name=
qname
decimal-separator=
char
grouping-separator=
char
infinity=
string
minus-sign=
char
NaN=
string
percent=
char
per-mille=
char
zero-digit=
char
digit=
char
pattern-separator=
char
>
<-- Content: -->
<
/decimal-format>
The xsl:decimal-format element declares a
decimal-format, which controls the interpretation of a format pattern
used by the format-number function. If there is
a name attribute, then the element declares a named
decimal-format; otherwise, it declares the default decimal-format.
The value of the name attribute is a QName, which is expanded as described
in [Qualified Names]. It is an error to declare either the
default decimal-format or a decimal-format with a given name more than
once (even with different Import Precedence), unless it is declared every time with the same
value for all attributes (taking into account any default values).
The other attributes on xsl:decimal-format correspond
to the methods on the JDK 1.1 DecimalFormatSymbols class. For each
get/set method pair there is an attribute
defined for the xsl:decimal-format element.
The following attributes both control the interpretation of
characters in the format pattern and specify characters that may
appear in the result of formatting the number:
-
decimal-separator specifies the character used
for the decimal sign; the default value is the period character
(.)
-
grouping-separator specifies the character used
as a grouping (e.g. thousands) separator; the default value is the
comma character (,)
-
percent specifies the character used as a
percent sign; the default value is the percent character
(%)
-
per-mille specifies the character used as a per
mille sign; the default value is the Unicode per-mille character
(#x2030)
-
zero-digit specifies the character used as the
digit zero; the default value is the digit zero
(0)
The following attributes control the interpretation of characters
in the format pattern:
-
digit specifies the character used for a digit
in the format pattern; the default value is the number sign character
(#)
-
pattern-separator specifies the character used
to separate positive and negative sub patterns in a pattern; the
default value is the semi-colon character (;)
The following attributes specify characters or strings that may
appear in the result of formatting the number:
-
infinity specifies the string used to represent
infinity; the default value is the string
Infinity
-
NaN specifies the string used to represent the
NaN value; the default value is the string NaN
-
minus-sign specifies the character used as the
default minus sign; the default value is the hyphen-minus character
(-, #x2D)
|