IBM FileNet P8, Version 5.2.1            

Implisitt konvertering

Implisitte konverteringer av uttrykksresultater skjer i kjøretid for bestemte datatypekombinasjoner.

Implisitte konverteringer skjer for eksempel hvis et heltallsuttrykk oppgis som den innledende verdien for et datafelt som er av typen flytetall. Legg merke til at det i et uttrykk ikke finnes implisitt konvertering av en strengverdi til en tidsverdi. Du må bruke funksjonen convert eller stringtotime til å konvertere strengverdien til en tidsverdi eksplisitt.

I et komplekst uttrykk forekommer implisitt konvertering slik at datatypen til argumentet oppfyller kravene til en operator eller funksjon. Funksjonen substr tar for eksempel heltallsverdier for startposisjonen og lengdeargumentene. Hvis du oppgir flytetallsverdiene 2.5 og 1.0 som disse argumentene, konverteres de implisitt til heltallsverdiene 2 og 1 før uttrykket evalueres.

Implisitt konvertering forekommer ved kjøretid for følgende datatypekombinasjoner:

Flytetall-til-heltall

Alle sifre til høyre for desimaltegnet i flytpunktnummeret avkortes. Hvis du for eksempel oppgir 123.4567 som den innledende verdien for et heltallsdatafelt, angis datafeltets verdi til 123 ved aktivering.

Merk: Konvertering fra flytetall til heltall forekommer ikke i aktiveringen av et matrisedatafelt. Alle elementer som er oppgitt for en heltallsmatrise (enten som enkle eller komplekse uttrykk), må være heltallsverdier. Hvis du for eksempel oppgir en innledende verdi for et heltallsmatrisedatafelt, eller bruker tildel-systemfunksjonen for å tildele verdier til et heltallsmatrisedatafelt, er gyldige verdier {3} og {3 + 5, 7}. Verdiene {3.0} og {3 + 5.5, 7} er imidlertid ikke gyldige.

Heltall-til-flytetall

Et desimaltegn og 0 legges ved etter det siste sifferet til heltallet.

I et komplekst uttrykk som inneholder både flytetalls- og heltallsverdier, forekommer implisitt konvertering hvis en operator krever at verdiene har samme datatype. I dette tilfellet konverteres heltallsverdien til flytetallsdatatypen før uttrykket evalueres. Hvis du for eksempel oppgir 1.5 + 2, konverteres 2 til 2.0.

Merk: Konvertering fra heltall til flytetall forekommer ikke i aktiveringen av et matrisedatafelt med enkle uttrykk. Alle elementer som er oppgitt som enkle uttrykk for en flytetallsmatrise, må være flytetallsverdier. Du kan for eksempel oppgi {3.0} eller { convert(1, float) }, men ikke {3}.


Last updated: October 2015
bpfe016.htm

© Copyright IBM Corp. 2015.