Numeriske funksjoner
Denne delen inneholder korte beskrivelser av funksjonene som gjelder for flytetalls- eller heltallsverdier.
Funksjon | Hva den gjør |
---|---|
abs | Returnerer den absolutte verdien til den numeriske funksjonen. |
bitor, bitand, bitnot | Gir boolsk manipulering av biter. |
convert | Konverterer et tall til en annen datatype eller konverterer en annen datatype til et tall. |
err_encode | Konverterer en FileNet P8-feiltuppel i tre deler til et heltall i én del. |
int | Avkorter alt etter desimaltegnet og returnerer heltallsverdien til et numerisk uttrykk. |
max | Returnerer den største verdien fra en liste over uttrykk for en hvilken som helst datatype som støttes. |
min | Returnerer den minste verdien fra en liste over uttrykk for en hvilken som helst datatype som støttes. |
mod | Returnerer det gjenstående etter deling (modul). |
numbertostring | Konverterer et numerisk uttrykk til et strenguttrykk ved hjelp av en oppgitt maske. |
random | Returnerer et tilfeldig heltall i et oppgitt verdiområde. |
sizeof | Returnerer størrelsen på en matrise. |
abs
abs (num_expr)
der
num_exp er et uttrykk der resultatet er av typen heltall eller flytetall. Eksempel:abs (SalePrice - PurchasePrice)
bitand, bitor og bitnot
Disse funksjonene gir boolsk manipulering av biter. Bruk dem til å utføre mange oppgaver, for eksempel angi masker og trekke ut biter. Hver av disse funksjonene kan utføre boolske operasjoner på opptil 32 elementer om gangen.
Hvis du er kjent med C-programmeringsspråket, er bitand, bitor og bitnot henholdsvis som logical and (&), logical or (|) og logical not (~). Hvis du ikke er kjent med C, kan du betrakte tallene som binære verdier (123 ville for eksempel være 1111011).
bitand (expr1, expr2)
bitor (expr1, expr2)
bitnot (expr)
der expr1 og expr2 er heltall for 32-biters.bitand
- Hvis begge heltall inneholder en 1 i samme posisjon, vil det resulterende heltallet også inneholde en 1 i denne posisjonen.
- Hvis begge heltall inneholder en 0 i samme posisjon, vil det resulterende heltallet også inneholde en 0 i denne posisjonen.
- Hvis ett heltall inneholder en 1 og det andre heltallet inneholder en 0 i samme posisjon, vil det resulterende heltallet inneholde en 0 i denne posisjonen.
bitand
(00000000000000000000000001111011,
00000000000000000000000011110000)
resulterer i:
00000000000000000000000001110000
bitor
- Hvis ett av heltallene inneholder en 1 i samme posisjon, vil det resulterende heltallet også inneholde en 1 i denne posisjonen.
- Hvis begge heltall inneholder en 0 i samme posisjon, vil det resulterende heltallet også inneholde en 0 i denne posisjonen.
bitor
(00000000000000000000000001111011,
00000000000000000000000011110000)
resulterer i:
00000000000000000000000011111011
bitnot
Funksjonen bitnot "not"-er et heltall. Resultatet av denne bit-for-bit-analysen er utdata til et nytt heltall. For hver plassering inneholder det nye heltallet den motsatte bitverdimeningen. Det vil for eksempel si at hvis inndataheltallet inneholder en 1 i en angitt posisjon, inneholder det nye heltallet en 0 i den samme posisjonen.
bitnot
(00000000000000000000000001111011
resulterer i:
11111111111111111111111110000100
int
Denne funksjonen beregner heltallsverdien til et flytetallsuttrykk ved å avkorte alt etter desimaltegnet. Flytetallsverdiene 6.2 og 6.8 blir for eksempel konvertert til heltallsverdien 6. Tegnet for tallet endres ikke.
int (num_expr)
der num_expr
er et uttrykk der resultatet er av typen flytetall. Eksempel:int (365 / 7)
mod
Denne funksjonen returnerer det gjenstående etter deling (modul). Legg merke til at hvis du forsøker å dele en verdi med null, oppstår det en kjøretidsfeil.
mod (num1, num2)
der
num1 og num2 er variabler av typen flytetall eller heltall, og kan inneholde
negative verdier.mod (NumberOfDays, 7)
If num2 > 0,
0 <= mod (num1, num2) < num2
If num2 < 0,
num2 < mod (num1, num2) <= 0
random
Enkelte applikasjoner trenger en metode for å generere et tilfeldig heltall, kanskje for å utføre tilfeldig sampling. Denne funksjonen returnerer et tilfeldig heltall i et angitt verdiområde. Den krever et heltall som en parameter for å fastslå verdiområdet.
random (num)
der num
er et heltall fra 2 til 32768 (inkludert begge ender). Verdiområdet
er mellom 0 og num - 1. Hvis num var 23 i eksemplet ovenfor, ville
det tilfeldige heltallet falle mellom 0 og 22.err_encode
Denne funksjonen konverterer en FileNet P8-errortuppel i tre deler til en heltallsverdi, som du kan sammenligne med en resultatkode som er returnert av et kall til et WAL-inngangspunkt (WorkFlo Application Libraries). WAL returnerer resultatkoder når det oppstår unntaksbetingelser i normal behandling (for eksempel filslutt i enkel databehandling), eller når det oppstår feil.
Den primære bruken for err_encode er å basere senere behandling av et arbeidselement på resultatene som returneres av en operasjon som kaller WAL. En slik operasjon etterfølges vanligvis av en grensysteminstruksjon. Når grenen utføres, følger arbeidselementet behandlingsbanen som er bestemt av resultatkoden som den forrige operasjonen returnerte. Bruk for eksempel funksjonen err_code i grendefinisjonen for å angi at hvis <return code> = err_encode (80, 0, 2), følger arbeidselementet én behandlingsbane, mens den følger en annen behandlingsbane hvis <return code> = err_encode (80, 0, 5).
err_encode (mod_num, func_num, err_num)
der:Parameter | Beskrivelse |
---|---|
mod_num | Den første delen av resultatkoden. Det er et heltallsuttrykk (fra 0-255) som angir tjenesten, biblioteket eller applikasjonen som er kilden til feilen. |
func_num | Den andre delen av resultatkoden. Det er et heltallsuttrykk (fra 0-255) som angir funksjonen eller modulen som feilen kommer fra, eller kategorien som feilen tilhører. |
err_num | Den tredje delen av resultatkoden. Det er et heltallsuttrykk (fra 0-65535) som angir feiltallet. |