Formato numérico
Cuando un texto es analizado como cualquier tipo de datos numéricos o cualquier tipo de datos numéricos debe ser formateado a un texto, el patrón de formato debe ser especificado.
El análisis y el formato son sensibles a la localización.
En CloudConnect, se utiliza el formato decimal de Java.
Tabla 28.8. Sintaxis del patrón de formato numérico
Símbolo | Localización | Localizado? | Significado |
---|---|---|---|
# | Número | Sí | Dígito, el cero aparece como ausente |
0 | Número | Sí | Dígito |
. | Número | Sí | Separador decimal o separador decimal monetario |
– | Número | Sí | Signo menos |
, | Número | Sí | Separador de agrupación |
E | Número | Sí | Separa mantisa y exponente en notación científica. No es necesario citar el prefijo o el sufijo. |
; | Límite del subpatrón | Sí | Separa los subpatrones positivos y negativos |
% | Prefijo o sufijo | Sí | Multiplica por 100 y muestra como porcentaje |
‰ (\u2030) | Prefijo o sufijo | Sí | Multiplicar por 1000 y mostrar como valor por mil |
¤ (\u00A4) | Prefijo o sufijo | No | Signo de moneda, sustituido por el símbolo de la moneda. Si se duplica, se sustituye por el símbolo de la moneda internacional. Si está presente en un patrón, se utiliza el separador decimal monetario en lugar del separador decimal. |
‘ | Prefijo o sufijo | No | Se utiliza para entrecomillar caracteres especiales en un prefijo o sufijo, por ejemplo, «‘#’#» formatea 123 a «#123». Para crear una comilla simple en sí misma, utilice dos seguidas: «# o»clock». |
-
Tanto el prefijo como el sufijo son caracteres Unicode desde \u0000 hasta \uFFFD, incluyendo los márgenes, pero excluyendo los caracteres especiales.
El patrón de formato se compone de subpatrones, prefijos, sufijos, etc. de la forma que se muestra en la siguiente tabla:
La explicación de estos símbolos sigue:
Tabla 28.10. Notación utilizada
Notación | Descripción |
---|---|
X* | 0 o más instancias de X |
(X | Y) | o bien X o bien Y |
X..Y | cualquier carácter desde X hasta Y, inclusive |
S – T | caracteres en S, excepto los de T |
{X} | X es opcional |
Recuerde también que el formato es sensible a la localización. Véase la siguiente tabla en la que los resultados son diferentes para las distintas localizaciones:
Tabla 28.11. Formato sensible a la localización
Patrón | Localidad | Resultado |
---|---|---|
##,###.### | es.US | 123,456.789 |
###,###.## | de.DE | 123.456,789 |
##,###.## | fr.FR | 123 456,789 |
Para profundizar en el manejo de números, consulte la documentación oficial de Java.
Notación científica
Los números en notación científica se expresan como el producto de una mantisa y una potencia de diez.
Por ejemplo, 1234
puede expresarse como 1.234 x 103
.
La mantisa suele estar en el rango 1.0 <= x < 10.0
, pero no es necesario que lo esté.
Los tipos de datos numéricos pueden ser instruidos para formatear y analizar la notación científica sólo a través de un patrón. En un patrón, el carácter de exponente seguido inmediatamente por uno o más caracteres de dígitos indica la notación científica.
Ejemplo: «0.###E0» formatea el número 1234 como «1.234E3».
A continuación se presentan ejemplos de patrones numéricos y resultados:
Legend:
1): El número máximo de dígitos enteros es 3, el número mínimo de dígitos enteros es 1, el máximo es mayor que el mínimo, por lo que el exponente será un multiplicador de tres (número máximo de dígitos enteros) en cada uno de los casos.
2): El número máximo de dígitos enteros es 2, el número mínimo de dígitos enteros es 1, el máximo es mayor que el mínimo, por lo que el exponente será un multiplicador de dos (número máximo de dígitos enteros) en cada uno de los casos.
3): El número máximo de dígitos enteros es 2, el número mínimo de dígitos enteros es 2, el máximo es igual al mínimo, el número mínimo de dígitos enteros se conseguirá ajustando el exponente.
4): El número máximo de dígitos enteros es 3, el número máximo de dígitos fraccionarios es 2, el número de dígitos significativos es la suma del número máximo de dígitos enteros y el número máximo de dígitos fraccionarios, por lo tanto, el número de dígitos significativos es el indicado (5 dígitos).
Formatos Binarios
La siguiente tabla presenta una lista de formatos disponibles:
Tabla 28.13. Formatos binarios disponibles
Tipo | Nombre | Formato | Longitud |
---|---|---|---|
integer | BIG_ENDIAN |
complemento de dos, big-endian | variable |
LITTLE_ENDIAN |
complemento de dos, little-endian | ||
PACKED_DECIMAL |
packeddecimal | ||
floating-point | DOUBLE_BIG_ENDIAN |
IEEE 754, big-endian | 8 bytes |
DOUBLE_LITTLE_ENDIAN |
IEEE 754, little-endian | ||
FLOAT_BIG_ENDIAN |
IEEE 754, big-endian | 4 bytes | |
FLOAT_LITTLE_ENDIAN |
IEEE 754, little-endian |
Los formatos de punto flotante pueden utilizarse con los tipos de datosnumeric
y decimal
.Los formatos de enteros pueden utilizarse con los tipos de datos integer
y long
. La excepción a la regla es el tipo de datos decimal
, que también admite formatos enteros (BIG_ENDIAN
, LITTLE_ENDIAN
yPACKED_DECIMAL
). Cuando se utiliza un formato entero con el tipo de datos decimal
, el punto decimal implícito se establece de acuerdo con el atributo Escala. Por ejemplo, si el valor almacenado es 123456789 y el atributo Scale se establece en 3, el valor del campo será 123456.789.
Para utilizar un formato binario, cree un campo de metadatos con uno de los tipos de datos admitidos y establezca el atributo Format en el nombre del formato con el prefijo "BINARY:"
, por ejemplo para utilizar el formato PACKED_DECIMAL
, cree un campo adecimal y establezca su Formato a"BINARY:PACKED_DECIMAL"
eligiéndolo de la lista de formatos disponibles.
Para los formatos de longitud fija (double y float) también debe establecerse el atributoTamaño.
Actualmente, los formatos de datos binarios sólo pueden ser manejados por ComplexDataReader y el obsoleto FixLenDataReader.