IBM FileNet P8, Version 5.2.1            

Implicit konvertering

Resultater af implicit konvertering af udtryk optræder ved runtime for bestemte kombinationer af datatyper.

Der finder f.eks. implicitte konverteringer sted, hvis et heltalsudtryk angives som indledende værdi for et datafelt, der er af typen float. Bemærk, at i et udtryk er der ingen implicit konvertering af en strengværdi til en tidsværdi. Du skal bruge funktionen convert eller stringtotime til eksplicit at konvertere en strengværdi til en tidsværdi.

I et komplekst udtryk finder der implicit konvertering sted, så datatypen for argumentet overholder kravene i en operator eller funktion. Funktionen substr bruger f.eks. heltalsværdier som startposition og længdeargumenter. Hvis du angiver de flydende værdier 2,5 og 1,0 som disse argumenter, konverteres de implicit til heltalsværdierne 2 og 1, før udtrykket evalueres.

Implicitte konverteringer finder sted ved runtime for følgende kombinationer af datatyper:

Flydende til heltal

Alle cifre til højre for decimaltegnet i det flydende tal afkortes. Hvis du f.eks. angiver 123,4567 som indledende værdi for et heltalsdatafelt, angives datafeltets værdi ved initialisering til 123.

Bemærk: Konvertering fra flydende til heltal finder ikke sted i initialiseringen af et arraydatafelt. Alle elementer, der angives for et heltalsarray (som enten enkle eller komplekse udtryk), skal være heltalsværdier. Hvis du f.eks. angiver en indledende værdi for et heltalsarraydatafelt, skal du bruge systemfunktionen assign til at tildele værdier til et heltalsarraydatafelt. Gyldige værdier omfatter {3} og {3 + 5, 7}. Men værdierne {3,0} og {3 + 5,5, 7} er ikke gyldige.

Heltal til flydende

Et decimaltegn og 0 tilføjes efter det sidste ciffer i heltallet.

I et komplekst udtryk, der både indeholder flydende værdier og heltalsværdier, finder der implicit konvertering sted, hvis en operator kræver, at værdierne skal være af samme datatype. I så fald konverteres heltalsværdien til den flydende datatype, før udtrykket evalueres. Hvis du f.eks. angiver 1,5 + 2, konverteres 2 til 2,0.

Bemærk: Konvertering fra heltal til flydende finder ikke sted i initialiseringen af et arraydatafelt med enkle udtryk. Alle elementer, der er angivet som enkle udtryk for et flydende array, skal være flydende værdier. Du kan f.eks. angive {3,0} eller { convert(1, float) }, men ikke {3}.


Last updated: October 2015
bpfe016.htm

© Copyright IBM Corp. 2015.