Testujeme funkciu CCur
Funkcia CCur
vracia menu. Rozsah návratovej hodnoty je od -922 337 203 685 477.5808
do 922 337 203 685 477.5807! Čiže premenná typu mena môže obsahovať najviac 15 čísiel
pred desatinnou čiarkou a 4 za desatinnou čiarkou. Táto premenná sa využíva hlavne pri finančných operáciách. Fajn,
poďme si danú funkciu CCur
otestovať.
1. príklad: Testujeme formátovanie funkcie CCur
Sub macro REM začiatok makra On Error Resume Next REM ak nastane chyba, nech makro beží ďalej Dim i As Integer REM deklarácie premenných Dim retazec As String Dim pole() REM naplňujeme naše pole pole() = Array(6, 100, 15499, -1566, -89898989, 1000000000000000, "878", "-45454566145555555557", 11.454, 45.77889, -101.4444, -777.77777, "788.777789", &HBB2, &HCCB7, &HDFDC) REM v cykle experimentujeme s funkciou CCur For i = LBound(pole()) To UBound(pole()) retazec = retazec & i+1 & " CCur(" & pole(i) & ") = " retazec = retazec & CCur(pole(i)) retazec = retazec & Chr(10) Next REM výpis na obrazovku MsgBox retazec End Sub REM koniec procedúry
Vidíme testovanie funkcie CCur
Rozbor makra:
Takže zhrňme si najdôležitejšie body, ktoré sú dôležité:
1 CCur(6) = 6.0000
– k číslu 6 pridá desatinnú čiarku a štyri 0 za desatinnou čiarkou
6 CCur(1E+15) =
– prekročili sme maximálnu hodnotu
9 CCur(11,454) = 11.4540
– racionálne číslo doplní ešte jednou nulou
10 CCur(45,77889) = 45.7789
– 5 pozícia za desatinným číslom sa zaokrúhli
13 CCur(788.777789) = 788.7778
– ani získanie meny z reťazca nerobí problém
Testujeme funkcia Hex
Funkcia Hex
nám vracia reťazec predstavujúci hexadecimálnu podobu čísla, čiže šestnásťkovú číselnú
sústavu.
Syntax funkcie Hex
je nasledovná:
Hex(nejaké číslo ako argument)
Poďme na druhý príklad, kde si ukážeme pár argumentov pre funkciu Hex
.
2. príklad: Testujeme argumenty funkcie Hex
Sub macro REM začiatok makra On Error Resume Next REM ak nastane chyba, nech makro beží ďalej Dim i As Integer REM deklarácie premenných Dim retazec As String Dim pole() REM naplňujeme naše pole pole() = Array(6, 100, 15499, 1000000000000000, "878", 11.554, 45.77889, "788.777789", &HBB2, &HCCB7, &HDFDC, "&HA2", "&HBC5") REM v cykle experimentujeme s funkciou Hex For i = LBound(pole()) To UBound(pole()) retazec = retazec & i+1 & " Hex(" & pole(i) & ") = " retazec = retazec & Hex(pole(i)) retazec = retazec & Chr(10) Next REM výpis na obrazovku MsgBox retazec End Sub REM koniec procedúry
Výsledok činností makra
Rozbor makra:
Body, ktoré je dobré spomenúť:
2 Hex(100) = 64
– hexadecimálna hodnota desiatkového čísla 100 je 64
4 Hex(1E+15) =
– pretečenie
5 Hex(878) = 36E
– číslo v reťazci nie je problémom
13 Hex(&HBC5) = BC5
– z hexadecimálneho čísla do hexadecimálneho čísla, trochu bizarné ale poučné
Na záver funkcia Oct
Funkcia Oct
má veľa spoločného s funkciou Hex
, až na jednu kľúčovú vlastnosť. Vracia
osmičkovú podobu čísla, nie hexadecimálnu!
3. príklad: Testujeme argumenty funkcie Oct
Sub macro REM začiatok makra On Error Resume Next REM ak nastane chyba, nech makro beží ďalej Dim i As Integer REM deklarácie premenných Dim retazec As String Dim pole() REM naplňujeme naše pole pole() = Array(6, 100, 15499, 1000000000000000, "878", 11.554, 45.77889, "788.777789", &HBB2, &HCCB7, &HDFDC, "&HA2", "&HBC5") REM v cykle experimentujeme s funkciou Oct For i = LBound(pole()) To UBound(pole()) retazec = retazec & i+1 & " Oct(" & pole(i) & ") = " retazec = retazec & Oct(pole(i)) retazec = retazec & Chr(10) Next REM výpis na obrazovku MsgBox retazec End Sub REM koniec procedúry
Výsledok činností makra
Ukázali sme si v tomto diely i v tých minulých formátovanie niektorých funkcii. Zatiaľ sme sa dátumu a času úspešne vyhýbali, pri tom táto problematika patrí medzi dôležité formátovacie úskalia. Konečne nastala chvíľa, kedy sa môžeme nato vrhnúť, tak sa máte načo tešiť.