IBM FileNet P8, Version 5.2.1            

Implicitna pretvorba

Implicitne pretvorbe rezultatov izrazov se zgodijo med časom izvajanja za določene kombinacije podatkovnih tipov.

Implicitna pretvorba se na primer zgodi, če je za podatkovno polje vrste realnega števila s plavajočo vejico kot začetna vrednost podana celoštevilčna vrednost. Vedite, da znotraj izraza ni implicitne pretvorbe iz nizovne vrednosti v časovno vrednost. Za eksplicitno pretvorbo nizovne vrednost v časovno vrednost morate uporabiti funkcijo convert ali funkcijo stringtotime.

Znotraj kompleksnega izraza do implicitne pretvorbe pride tako, da podatkovni tip argumenta ustreza zahtevam operatorja ali funkcije. Funkcija substr na primer za argumenta začetne pozicije in dolžine uporablja celoštevilčni vrednosti. Če za ta argumenta podate vrednosti realnega števila s plavajočo vejico 2,5 in 1,0, sta implicitno pretvorjeni v celoštevilčno vrednosti 2 in 1, preden je izraz ovrednoten.

Implicitne pretvorbe se v času izvajanja dogajajo za naslednje kombinacije podatkovnih tipov:

Realno število s plavajočo vejico v celo število

Obrezane do vse števke desno od decimalne vejice v realnem številu s plavajočo vejico. Če za začetno vrednost podatkovnega polja celega števila podate 123,4567, je vrednost polja pri inicializaciji nastavljena na 123.

Opomba: Pretvorba realnega števila s plavajočo vejico v celo število se ne zgodi v indeksiranem podatkovnem polju. Vsi elementi, ki so podani za indeksirano polje (ali kot preprosti ali kompleksni izrazi), morajo biti celoštevilčne vrednosti. Če se na primer podali začetno vrednost za indeksirano podatkovno polje celih števil ali ste sistemsko funkcijo za dodeljevanje uporabili za dodeljevanje vrednosti v indeksirano podatkovno polje celih števil, so med veljavnimi vrednostmi {3} in {3 + 5, 7}. Vendar pa niso veljavne vrednosti {3.0} in {3 + 5.5, 7}.

Celo število v realno število s plavajočo vejico

Zadnji števki celega števila sta dodana decimalna vejica in 0.

V kompleksnem izrazu, ki vsebuje vrednost realnih števil s plavajočo vejico in celoštevilske vrednosti, do implicitne pretvorbe pride samo, če operator zahteva, da sta obe vrednosti enakega podatkovnega tipa. V tem primeru je celoštevilčna vrednost v podatkovni tip realnega števila s plavajočo vejico pretvorjena pred vrednotenjem izraza. Če na primer podate 1.5 + 2, je 2 pretvorjen v 2.0.

Opomba: Pretvorba celega števila v realno število s plavajočo vejico se ne zgodi v inicializaciji indeksiranega podatkovnega polja s preprostimi izrazi. Vsi elementi, ki so za indeksirano polje realnih števil s plavajočo vejico, podani kot preprosti izrazi, morajo biti vrednosti realnih števil s plavajočo vejico. Podate lahko na primer {3.0} ali { convert(1, float) }, vendar pa ne {3}.


Last updated: October 2015
bpfe016.htm

© Copyright IBM Corp. 2015.