IBM FileNet P8, Version 5.2.1            

Conversão Implícita

Os resultados da conversão implícita de expressão ocorrem em tempo de execução para determinadas combinações de tipos de dados.

Por exemplo, a conversão implícita ocorre se uma expressão de números inteiros for especificada como o valor inicial para um campo de dados que seja do tipo flutuante. Observe que dentro de uma expressão, não há conversão implícita de um valor de sequência para um valor de tempo. Você deve utilizar a função convert ou a função stringtotime para converter explicitamente o valor de sequência para um valor de tempo.

Dentro de uma expressão complexa, a conversão implícita ocorre para fazer o tipo de dado do argumento atender aos requisitos de um operador ou de uma função. Por exemplo, a função substr obtém valores de número inteiro para os argumentos de posição inicial e comprimento. Se você especificar os valores flutuantes 2.5 e 1.0 como esses argumentos, eles serão implicitamente convertidos nos valores de números inteiros 2 e 1 antes da expressão ser avaliada.

A conversão implícita ocorre em tempo de execução para as seguintes combinações de tipos de dados:

Flutuante para número inteiro

Todos os dígitos à direita do ponto decimal no número de vírgula flutuante são truncados. Por exemplo, se você especificar 123.4567 como o valor inicial para um campo de dados de número inteiro, após a inicialização, o valor do campo de dados é definido como 123.

Nota: A conversão de flutuante para número inteiro não ocorre na inicialização de um campo de dados de matriz. Todos os elementos especificados para um matriz de números inteiros (como expressões simples ou complexas) devem ser valores de números inteiros. Por exemplo, se você especificar um valor inicial para um campo de dados de matriz de números inteiros ou utilizar a função de sistema assign para designar valores a um campo de dados de matriz de números inteiros, os valores válidos incluem {3} e {3 + 5, 7}. Todavia, os valores {3.0} e {3 + 5.5, 7} não são válidos.

Número inteiro para flutuante

Um ponto decimal e 0 são anexados após o último dígito do número inteiro.

Dentro de uma expressão complexa contendo tanto valores flutuantes quanto valores de número inteiro, a conversão implícita ocorre se um operador exigir que os valores seja do mesmo tipo de dado. Nesse caso, o valor de número inteiro é convertido no tipo de dados flutuante antes de avaliar a expressão. Por exemplo, se você especificar 1.5 + 2, o 2 é convertido em 2.0.

Nota: A conversão de número inteiro em flutuante não ocorre na inicialização de um campo de dados de matriz com expressões simples. Todos os elementos especificados como expressões simples para uma matriz flutuante devem ser valores flutuantes. Por exemplo, é possível especificar {3.0} ou { convert(1, float) }, mas não {3}.


Last updated: October 2015
bpfe016.htm

© Copyright IBM Corporation 2015.