Altova MapForce 2023 Enterprise Edition

Convierte un número en una cadena y le aplica el formato indicado .en las opciones.

mf-func-format-number

 

Lenguajes

Built-in, C++, C#, Java#, XSLT 1.0 y, XSLT 1.0, XSLT 2.0, XSLT 3.0.

 

Parámetros

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. Véanse las "Observaciones", más abajo

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 (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 (véase Cambiar la configuración de los componentes.

 

Observaciones

El argumento format toma esta forma:

 

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

grouping-separator

,

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.

 

Nota: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

 

Ejemplo

La asignación siguiente lee datos de un archivo XML de origen y los escribe en un archivo XML de destino. Existen varios elementos SinglePriceen el archivo de origen que contienen estos valores decimales: 25, 2.30, 34, 57.50. La asignación tiene dos objetivos:

 

1.Añadir ceros a la izquierda de todos los valores de forma que la parte entera ocupe exactamente 5 dígitos

2.Añadir ceros a la derecha de todos los valores de forma que la parte decimal ocupe exactamente 2 dígitos

 

Para ello se da la cadena de formato 00000.00 como argumento a la función format-number.

mf_map_PreserveFormatting

PreserveFormatting.mfd

En consecuencia, los valores de destino paran a ser:

 

00025,00

00002,30

00034,00

00057,50

 

Puede encontrar el archivo de diseño de esta asignación en la ruta: <Documentos>\Altova\MapForce2023\MapForceExamples\PreserveFormatting.mfd.

© 2017-2023 Altova GmbH