format-number

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Funciones > Referencia de la biblioteca de funciones > core | conversion functions (conversión) >

format-number

Convierte un número en una cadena. La función está disponible para XSLT 1.0, XSLT 2.0, Java, C#, C++ y el motor de ejecución integrado.

fn-format-number

Argumento

Descripción

value

Argumento obligatorio. Suministra el número al que se debe aplicar formato.

format

Argumento obligatorio. Suministra una cadena de formato que indica de qué forma se debe dar formato al número. Este argumento se usa igual que el argumento format de la función format-dateTime.

decimal-point-format

Argumento opcional. Suministra el carácter que se debe usar como carácter de punto decimal. El valor predeterminado es el carácter de punto ( . ).

grouping-separator

Argumento opcional. Suministra el carácter que se debe usar para separa grupos de números. El valor predeterminado es el carácter de coma ( , ).

 

Nota: si el resultado de la función (es decir, result) se conecta a un nodo de un tipo que no sea string, el formato se puede perder porque el valor se convierte al tipo de destino. Esta conversión automática se puede deshabilitar desactivando la casilla Convertir valores en tipos de destino en el cuadro de diálogo "Configuración" del componente de destino.

 

Format:

 

format := subformat (;subformat)?

 subformat := (prefix)? integer (.fraction)? (suffix)?

 prefix := any characters except special characters

 suffix := any characters except special characters

 integer := (#)* (0)* ( allowing ',' to appear)

 fraction := (0)* (#)* (allowing ',' to appear)

 

El primer subformat se utiliza para dar formato a los números positivos y el segundo para los números negativos. Si solamente se da un subformat, se utiliza el mismo para los números negativos, pero con un signo - antes del prefix.

 

Carácter especial

Predeterminado

Descripción

dígito cero

0

en este punto del resultado siempre aparecerá un dígito

dígito

#

en este punto del resultado siempre aparecerá un dígito, excepto si es un cero inicial o final no significativo

punto decimal

.

separa el entero y la parte de fracción del número

separador de grupos

,

separa grupos de dígitos

signo de porcentaje

%

multiplica el número por 100 y lo muestra como porcentaje

por mil

multiplica el número por 1000 y lo muestra como por mil

 

Los caracteres utilizados por el carácter de punto decimal y de separador de grupos siempre son "." y "," respectivamente. No obstante, se pueden cambiar en el resultado formateado asignando constantes a estos nodos.

fn-form-nr

El resultado de la función format-number anterior es:

El carácter de punto decimal se cambió por +.
El separador de grupos se cambió por -.

 

fn-form-nr2

 

 

Redondeo

El método de redondeo utilizado para esta función es al alza (p. ej. redondea al alza si la fracción es mayor o igual a 0.5 y redondea a la baja si la fracción es menor que 0.5). Este método de redondeo solamente afecta al código generado y si la opción seleccionada es el motor de ejecución integrado.

 

El XSLT 1.0 el modo de redondeo es indeterminado. En XSLT 2.0 el modo de redondeo es round-half-to-even, es decir se redondea al número par más próximo.

 

 

 

Número

Cadena de formato

Resultado

1234.5

#,##0.00

1,234.50

123.456

#,##0.00

123.46

1000000

#,##0.00

1,000,000.00

-59

#,##0.00

-59.00

1234

###0.0###

1234.0

1234.5

###0.0###

1234.5

.00025

###0.0###

0.0003

.00035

###0.0###

0.0004

0.25

#00%

25%

0.736

#00%

74%

1

#00%

100%

-42

#00%

-4200%

-3.12

#.00;(#.00)

(3.12)

-3.12

#.00;#.00CR

3.12CR


© 2019 Altova GmbH