IBM FileNet P8, Version 5.2.1            

Conversión implícita

La conversión implícita de resultados de expresiones se realiza en tiempo de ejecución para determinadas combinaciones de tipos de datos.

Por ejemplo, se produce la conversión implícita si se especifica una expresión entera como el valor inicial para un campo de datos que es de tipo flotante. Tenga en cuenta que, dentro de una expresión, no hay conversión implícita de un valor de serie en un valor de tiempo; debe utilizar la función convert o la función stringtotime para convertir explícitamente el valor de serie en un valor de tiempo.

Dentro de una expresión compleja, la conversión implícita se realiza para que el tipo de dato del argumento cumpla los requisitos de un operador o función. Por ejemplo, la función substr toma valores enteros para los argumentos de longitud y de posición inicial. Si especifica los valores flotantes 2,5 y 1,0 como dichos argumentos, se convierten implícitamente en los valores enteros 1 y 2 antes de que se evalúe la expresión.

La conversión implícita se produce en tiempo de ejecución para las siguientes combinaciones de tipos de datos:

De flotante a entero

Se truncan todos los dígitos situados a la derecha de la coma decimal en el número flotante. Por ejemplo, si especifica 123,4567 como el valor inicial para un campo de dato entero, a la inicialización, el valor del campo de datos se establece en 123.

Nota: La conversión de flotante a entero no se produce en la inicialización de un campo de datos de matriz. Todos los elementos especificados para una matriz entera (como expresiones simples o complejas) deben ser valores enteros. Por ejemplo, si especifica un valor inicial para un campo de datos de matriz entera, o utiliza la función de asignación del sistema para asignar valores al campo de datos de matriz entera, los valores válidos incluyen {3} y {3 + 5, 7}. Sin embargo, los valores {3.0} y {3 + 5.5, 7} no son válidos.

De entero a flotante

Se anexa una coma decimal y un cero después del último dígito del entero.

Dentro de una expresión compleja que contenga valores tanto flotantes como enteros, la conversión implícita se produce si un operador necesita que los valores sean del mismo tipo de dato. En este caso, el valor entero se convierte en tipo de dato flotante antes de evaluar la expresión. Por ejemplo, si especifica 1,5 + 2, el 2 se convierte en 2,0.

Nota: La conversión de entero a flotante no se produce en la inicialización de un campo de dato de matriz con expresiones simples. Todos los elementos especificados como expresiones simples para una matriz flotante deben ser valores flotantes. Por ejemplo, puede especificar {3.0} r { convert(1, float) }, pero no {3}.


Last updated: October 2015
bpfe016.htm

© Copyright IBM Corp. 2015.