format-number
Convierte un número en una cadena y le aplica el formato indicado .en las opciones.
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.
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.