Name
format-number()
Takes a number and formats it as a string.
Syntax
[1.0] stringformat-number(
$value as number
,$picture as string
,$formatName as string?
)
[2.0] xs:stringformat-number(
$value as numeric
,$picture as xs:string
,$formatName as xs:string?
)
Inputs
The number to be formatted and the format pattern string are required. The third argument is the optional name of a decimal format; if the third argument is not supplied, the default decimal format is used.
[2.0] The numeric argument must be one
of the four numeric types (xs:float
, xs:decimal
, xs:double
, or xs:integer
). If it is not a numeric type
or cannot be converted to one, the XSLT processor raises an error.
The XSLT processor also raises an error if the named decimal
format does not exist.
Output
The number, formatted according to the rules supplied by the other arguments. The special characters used in the second argument are:
#
Represents a digit. Trailing or leading zeroes are not displayed. Formatting the number
4.0
with the string#.##
returns the string4
.0
Represents a digit. Unlike the
#
character, the0
always displays a zero. Formatting the number4.1
with the string#.00
returns the string4.10
..
Represents the decimal point.
–
Represents the minus sign.
,
Is the grouping separator.
;
Separates the positive-number pattern from the negative-number pattern.
%
Indicates that a number should be displayed as a percentage. The value will be multiplied by 100, then displayed as a percentage. Formatting the number
.76
with the string ...
Get XSLT, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.