Funkcije za delo s števili
Ta razdelek vsebuje krajše opise funkcij, ki se nanašajo na vrednosti celih in realnih števil s plavajočo vejico.
Funkcija | Kaj naredi |
---|---|
abs | Vrne absolutno vrednost številske funkcije. |
bitor, bitand, bitnot | Omogočajo delo z logičnimi vrednostmi bitov. |
convert | Število pretvori v drug podatkovni tip ali drug podatkovni tip pretvori v število. |
err_encode | Tridelni zapis napake FileNet P8 pretvori v enodelno celo število. |
int | Obreže vse za decimalno vejico in vrne celoštevilčno vrednost izraza. |
max | Vrne največjo vrednost iz seznama izrazov kateregakoli od podprtih podatkovnih tipov. |
min | Vrne najmanjšo vrednost iz seznama izrazov kateregakoli od podprtih podatkovnih tipov. |
mod | Vrne ostanek po deljenju (modul). |
numbertostring | S pomočjo podane maske številski izraz pretvori v nizovni izraz. |
random | Vrne naključno celo število znotraj podanega obsega. |
sizeof | Vrne velikost indeksiranega polja. |
abs
abs (num_expr)
kjer je
num_exp izraz, katerega rezultat je tipa celo ali realno število s plavajočo vejico. Na primer:abs (ProdajnaCena - NabavnaCena)
bitand, bitor in bitnot
Te funkcije omogočajo delo z logičnimi vrednostmi bitov. Uporabljate jih lahko za veliko nalog, kot sta nastavitev mask in ekstrahiranje bitov. Vsaka od teh funkcij lahko logične operacije izvaja na do 32 postavkah naenkrat.
Če ste seznanjeni s programskim jezikom 'C', potem so bitand, bitor in bitnot enaki logičnemu in (&), logičnemu ali (|) in logičnemu ne (~). Če s 'C'-jem niste seznanjeni, si številke predstavljajte kot binarne vrednosti (število 123 bi na primer bilo 1111011).
bitand (expr1, expr2)
bitor (expr1, expr2)
bitnot (expr)
kjer sta expr1 in expr2 celi števili z 32 biti.bitand
- Če obe celi števili na enakem položaju vsebujeta 1, tudi novo celo število na tem položaju vsebuje 1.
- Če obe celi števili na enakem položaju vsebujeta 0, tudi novo celo število na tem položaju vsebuje 0.
- Če eno celo število na enakem položaju vsebuje 1, drugo pa 0, novo celo število na tem položaju vsebuje 0.
bitand
(00000000000000000000000001111011,
00000000000000000000000011110000)
rezultat:
00000000000000000000000001110000
bitor
- Če katerokoli celo število na enakem položaju vsebuje 1, tudi novo celo število na tem položaju vsebuje 1.
- Če obe celi števili na enakem položaju vsebujeta 0, tudi novo celo število na tem položaju vsebuje 0.
bitor
(00000000000000000000000001111011,
00000000000000000000000011110000)
rezultat:
00000000000000000000000011111011
bitnot
Funkcija bitnot "negira" celi število. To je primerjava za vsak par bitov posebej, rezultat pa je novo celo število. Za vsak položaj novo celo število vsebuje nasprotno bitno vrednost – tj. če vhodno celo število na primer na danem položaju vsebuje 1, novo celo število na enakem položaju vsebuje 0.
bitnot
(00000000000000000000000001111011
rezultat:
11111111111111111111111110000100
int
Funkcija izračuna celoštevilčno vrednost realno številske predstavitve s plavajočo vejico tako, da obreže vse za decimalno vejico. Vrednosti realnega števila s plavajočo vejico 6,2 in 6,8 sta pretvorjeni v celoštevilčno vrednost 6. Predznak števila se ne spremeni.
int (num_expr)
kjer je num_expr izraz, katerega rezultat je vrste realnega števila s plavajočo vejico. Na primer:int (365 / 7)
mod
Funkcija vrne ostanek po deljenju (modul). Vedite, da pri deljenju vrednosti z ničlo pride do napake.
mod (num1, num2)
kjer sta num1 in num2 spremenljivki vrste realnega števila s plavajočo vejico ali celega števila in vsebujeta negativni vrednosti.mod (NumberOfDays, 7)
Če je num2 > 0,
0 <= mod (num1, num2) < num2
Če je num2 < 0,
num2 < mod (num1, num2) <= 0
random
Nekatere aplikacije potrebujejo nek način za generiranje naključnih števil, morda za izvajanje naključnega vzorčenja. Funkcija vrne naključno celo število znotraj podanega obsega. Kot parameter za določanje obsega zahteva celo število.
random (num)
kjer je num celo število od 2 so 32768 (vključujoč obe meji). Obseg je med 0 in num - 1. Če bi v zgornjem primeru num bil 23, bi naključno celo število bilo nekje med 0 in 22.err_encode
Ta funkcije tridelni zapis napake FileNet P8 pretvori v celoštevilsko vrednost, ki jo lahko primerjate s kodo rezultata, ki jo vrne klic na vstopno točko WAL (WorkFlo Application Libraries). WAL vrne kode rezultata, ko pri običajni obdelavi pride do izjemnih stanj (kot je konec datoteke v preprosti obdelavi podatkov) ali do napak.
Err_encode primarno uporabljamo za osnovo nadaljnje obdelave delovnih postavk na rezultatih, ki jih vrne operacija, ki kliče WAL. Običajno taki operaciji sledi sistemsko navodilo razvejitve. Ko se izvaja razvejitev, delovna postavka sledi poti obdelave, ki jo določa koda rezultata, ki jo je vrnila prejšnja operacija. S funkcijo err_code lahko v definiciji razvejitve nakažemo, da v primeru, ko je <povratna koda> = err_encode (80, 0, 2), delovna postavka sledi eni obdelovalnih poti, medtem ko sledi drugi obdelovalni poti, če je <povratna koda> = err_encode (80, 0, 5).
err_encode (mod_num, func_num, err_num)
kjer je:Parameter | Opis |
---|---|
mod_num | Prvi del kode rezultata. Je celoštevilski izraz (od 0 do 255), ki nakazuje, katera storitev, knjižnica ali aplikacija je vir napake. |
func_num | Drugi del kode rezultata. Je celoštevilski izraz (od 0 do 255), ki nakazuje, iz katere funkcije ali modula prihaja napaka ali kategorijo, kateri pripada napaka. |
err_num | Tretji del kode rezultata. Je celoštevilski izraz (od 0–65535), ki nakazuje številko napake. |