Funktioner til konvertering af datatype
Dette afsnit indeholder korte beskrivelser af de funktioner, der konverterer udtryk fra én datatype til en anden.
Funktion | Virkemåde |
---|---|
convert | Konverterer et udtryk fra én understøttet datatype til en anden. |
numbertostring | Konverterer et heltalsudtryk eller et flydende udtryk til et strengudtryk ved hjælp af en angiven maske. |
stringtotime | Konverterer et strengudtryk til et tidsudtryk ved hjælp af en angiven maske. |
timetostring | Konverterer et tidsudtryk til et strengudtryk ved hjælp af en angiven maske. |
is_valid | Bestemmer, om det angivne udtryk er en gyldig værdi, der kan konverteres til den angivne enkle datatype. |
convert
convert (kildeudtryk, typenavn)
hvor:Parameter | Beskrivelse |
---|---|
kildeudtryk | Et udtryk i en af de understøttede datatyper. Dette udtryk konverteres til den datatype, som er angivet i typenavn. |
typenavn | Den datatype, som kildeudtryk konverteres til. Gyldige indgange er float, float[ ], integer, integer[ ], string, string[], Boolean, Boolean[ ], time og time[ ]. Bemærk, at hvis typenavn efterfølges af firkantede klammer ([ ]), skal kildeudtryk også være et array. Hvert element i arrayet konverteres til typenavn via de regler, der gælder for den enkle datatype. |
Resultaterne af funktionen convert afhænger af datatyperne for kildeudtryk og typenavn.
Konvertér fra boolesk
Hvis kildeudtryk er af typen boolesk, er resultaterne af funktionen convert som følger.
Konvertér fra boolesk til... | Resultater |
---|---|
Boolean | Ingen ændring. |
float | Hvis det booleske udtryk er sandt, er resultatet 1. Hvis det er falsk, er resultatet 0. |
integer | Hvis det booleske udtryk er sandt, er resultatet 1. Hvis det er falsk, er resultatet 0. |
string | Hvis det booleske udtryk er sandt, er resultatet "true". Hvis det er falsk, er resultatet "false". |
time | Syntaksfejl. |
Konvertér fra flydende
Hvis kildeudtryk er af typen flydende, er resultaterne af funktionen convert som følger.
Konvertér fra flydende til... | Resultater |
---|---|
Boolean | Hvis kildeudtryk = 0, er resultatet false. Hvis kildeudtryk = 1, er resultatet true. Hvis kildeudtryk <> 0 eller 1, opstår der en syntaksfejl. |
float | Ingen ændring. |
integer | Konverterer heltalsdelen af kildeudtryk (dvs. afkorter alle tal til højre for decimaltegnet). Der opstår en fejl, hvis resultatet ikke ligger inden for intervallet for heltal. |
string | Resulterer i en streng med numeriske tegn, der repræsenterer den flydende værdi. |
time | Bruger heltalsdelen af kildeudtryk som antallet af sekunder, der skal lægges til 01-01-1970 00:00:00 UTC (Coordinated Universal Time) og returnerer den nye tid. UTC (Coordinated Universal Time) UTC, der tidligere blev kaldt GMT (Greenwich Mean Time), er den verdensomspændende standardreferencetidszone. Eksempelvis returnerer convert (5,3, time) 01-01-1970 00:00:05. |
Konvertér fra heltal
Konvertér fra heltal til... | Resultater |
---|---|
Boolean | Hvis kildeudtryk = 0, er resultatet false. Hvis kildeudtryk = 1, er resultatet true. Hvis kildeudtryk <> 0 eller 1, opstår der en syntaksfejl. |
float | Resulterer i den tilsvarende flydende værdi. |
integer | Ingen ændring. |
string | Resulterer i en streng med numeriske tegn, der repræsenterer heltallet. |
time | Bruger kildeudtryk som antallet af sekunder, der skal lægges til 01-01-1970 00:00:00 UTC (Coordinated Universal Time) og returnerer den nye tid. Eksempelvis returnerer convert (5, time) 01-01-1970 00:00:05. |
Konvertér fra streng
Hvis kildeudtryk er af typen streng, er resultaterne af funktionen convert som følger.
Konvertér fra streng til... | Resultater |
---|---|
Boolean | Syntaksfejl, medmindre kildeudtryk = "true" eller kildeudtryk = "false". Alle kombinationer af store og små bogstaver accepteres. |
float | Syntaksfejl, medmindre kildeudtryk er en gyldig repræsentation af en flydende værdi. |
integer | Syntaksfejl, medmindre kildeudtryk er en gyldig repræsentation af en heltalsværdi. |
string | Ingen ændring. |
time | Syntaksfejl, medmindre kildeudtryk er en gyldig repræsentation af en tidsværdi og bruger det format, der er angivet i dato/klokkeslæt-masken for arbejdsgangssystemet. |
Konvertér fra tid
Hvis kildeudtryk er af typen time, er resultaterne af funktionen convert som følger.
Konvertér fra tid til... | Resultater |
---|---|
Boolean | Syntaksfejl. |
float | Returnerer antallet af sekunder mellem den aktuelle systemtid og 01-01-1970 00:00:00 UTC (Coordinated Universal Time). Hvis der f.eks. er angivet SysTime = 01-01-1970 00:00:28 UTC, returnerer convert (SysTime, float) 28. Hvis den aktuelle systemtid er angivet til en anden tidszone end UTC, foretager funktionen convert den nødvendige justering. Der er f.eks. 8 timers forskel mellem PST (Pacific Standard Time) og UTC; hvis SysTime = 1/1/1970 00:00:28 PST og den lokale tidszone er PST, returnerer convert(SysTime, float) 28828.0. 8 (timer) * 60 (minutter) *60 (sekunder) + 28 (sekunder) |
integer | Returnerer antallet af sekunder mellem den aktuelle systemtid og 01-01-1970 00:00:00 UTC (Coordinated Universal Time). Hvis der f.eks. er angivet SysTime = 01-01-1970 00:00:28 UTC, returnerer convert (SysTime, integer) 28. Hvis den aktuelle systemtid er angivet til en anden tidszone end UTC, foretager funktionen convert den nødvendige justering. Der er f.eks. 8 timers forskel mellem PST og UTC; hvis SysTime = 1/1/1970 00:00:28 PST, og den lokale tidszone er PST (Pacific Standard Time), returnerer convert(SysTime, integer) 28828. 8 (timer) * 60 (minutter) *60 (sekunder) + 28 (sekunder) |
string | Resulterer i en strengrepræsentation af kildeudtryk. Bemærk, at denne streng bruger det format, der er angivet i dato/klokkeslæt-masken for arbejdsgangssystemet. |
time | Ingen ændring. |
numbertostring
Denne funktion konverterer et flydende udtryk eller et heltalsudtryk til et strengudtryk ved hjælp af det format, du angiver. Brug denne funktion, når du vil vise et tal i et bestemt format (f.eks. DKK 1.000.000). Du kan også bruge funktionen numbertostring til at afrunde tal.
numbertostring (taludtryk{, num_maske}parameter)
hvor:Parameter | Beskrivelse |
---|---|
taludtryk | Et udtryk af typen float eller integer. |
num_maske | En numerisk maske, der bestemmer formatet af outputtet fra funktionen numbertostring. Den numeriske maske er valgfri, men hvis du ikke angiver en numerisk maske, svarer funktionen numbertostring til funktionen convert. |
Numerisk maske
En numerisk maske er en skabelon, der bruges til at formatere outputtet af funktionen numbertostring. En numerisk maske er et strengudtryk, der indeholder en hvilken som helst gyldig kombination af følgende komponenter.
Komponent | Betydning |
---|---|
+ (plus) | Når det er den første eller sidste komponent i masken, viser den tallets fortegn. Når det er i en anden position end den første eller sidste, indsættes plustegnet i outputstrengen, nøjagtigt det sted hvor du har placeret det i masken. Eksempel: numbertostring (12345, "###+##") giver 123+45 |
- (minus) | Når det er den første eller sidste komponent i masken, viser et negativt tegn, hvis tallet er negativt, eller et mellemrum, hvis tallet er positivt. Når det er i en anden position end den første eller sidste, indsættes minustegnet i outputstrengen, nøjagtigt det sted hvor du har placeret det i masken. Eksempel: numbertostring (123456789, "###-##-####") giver 123-45-6789 |
# (nummertegn) | Viser et ciffer, hvis det er betydende. Når masken indeholder flere #'er, end der er betydende cifre, modtager #'erne længst til højre cifrene først, og overskydende #'er udfyldes med blanktegn. |
0 (nul) | Viser et ciffer, uanset om det er betydende eller ej. Det kan resultere i både foran- og efterstillede nuller. |
. (decimaltegn) | Bestemmer, hvor decimaltegnet placeres. Hvis det ikke er angivet, antages decimaltegnet at være til højre for masken. Tallet afrundes, så det passer til masken. Der kan kun være ét decimaltegn i en maske. |
Eksempler på numeriske masker
Herunder vises outputtet, når funktionen numbertostring konverterer følgende tal: 0, +29, -3344 og 77,88369. Outputtet formateres i henhold til de viste numeriske masker.
Maske | 0 | +29 | -3344 | 77,88369 |
---|---|---|---|---|
0000 | 0000 | 0029 | 3344 | 0078 |
#### | 29 | 3344 | 78 | |
$#,### | $ | DKK 29 | DKK 3.344 | DKK 78 |
+#### | + | +29 | -3344 | +78 |
-#### | 29 | -3344 | 78 | |
####+ | + | 29+ | 3344- | 78+ |
####- | 29 | 3344- | 78 | |
##.## | . | 29, | Runtimefejl | 77,88 |
Afrunding af tal
numbertostring (Tal1, "#.###,###")
3.344,779
is_valid
is_valid (udtryk, type)
hvor:Parameter | Beskrivelse |
---|---|
udtryk | Et hvilket som helt udtryk. |
type | En enkel datatype (Boolean, float, integer, string, time). |
is_valid (str, Boolean)
is_valid ("1.2.3", float)
is_valid (1e20, integer)