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.
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.