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 Dígito, el cero aparece como ausente
0 Número Dígito
. Número Separador decimal o separador decimal monetario
Número Signo menos
, Número Separador de agrupación
E Número Separa mantisa y exponente en notación científica. No es necesario citar el prefijo o el sufijo.
; Límite del subpatrón Separa los subpatrones positivos y negativos
% Prefijo o sufijo Multiplica por 100 y muestra como porcentaje
‰ (\u2030) Prefijo o sufijo 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

Nota

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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.