Számváltozók
Az Apache OpenOffice Basic öt alaptípust használt a számok feldolgozásához:
- Integer (egész szám)
- Long integer (hosszú egész szám)
- Single (egyszeres pontosságú)
- Double (dupla pontosságú)
- Currency (pénznem)
Integer (egész szám) változók
Az integer (egész szám) változók bármilyen egész számot tárolhatnak -32768 és 32767 között. Az integer (egész szám) változók két bájtot foglalnak el a memóriában. Az integer (egész szám) változók típusdeklarációs jele a %. Az integer (egész szám) változókkal végzett számítások nagyon gyorsak, és különösen ciklusváltozókban hasznosak. Ha lebegőpontos számot rendelünk egy integer (egész szám) változóhoz, akkor a számot a program a legközelebbi egész számra kerekíti.
Példák integer (egész szám) változók deklarálására:
Dim Valtozo As Integer Dim Valtozo%
Long integer (hosszú egész szám) változók
A long integer (egész szám) változók bármilyen egész számot tárolhatnak -2147483648 és 2147483647 között. A long integes (hosszú egész szám) változók négy bájt memóriát foglalnak el. A long integer (hosszú egész szám) változók típusdeklarációs jele a &. A long integer (hosszú egész szám) változókkal végzett számítások nagyon gyorsak, és különösen ciklusváltozókban hasznosak. Ha lebegőpontos számot rendelünk egy long integer (hosszú egész szám) változóhoz, akkor a számot a program a legközelebbi egész számra kerekíti.
Példák long integer (hosszú egész szám) változók deklarálására:
Dim Valtozo as Long Dim Variable&
Single (egyszeres pontosságú) változók
A single (egyszeres pontosságú) változók bármilyen pozitív vagy negatív lebegőpontos számot tárolhatnak 3.402823 x 1038 és 1.401298 x 10-45 között. A single (egyszeres pontosságú) változók négy bájt memóriát foglalnak el. A single (egyszeres pontosságú) változók típusdeklarációs jele a !.
Eredetileg a single (egyszeres pontosságú) változókat a double (dupla pontosságú) változókkal végzett számítások lerövidítésére hozták létre. Azonban ezek a sebességi megfontolások már nem játszanak szerepet, így a single (egyszeres pontosságú) változóknak már nincs jelentős szerepe.
Példák single (egyszeres pontosságú) változók deklarálására:
Dim Valtozo as Single Dim Valtozo!
Double (dupla pontosságú) változók
A double (dupla pontosságú) változók bármilyen pozitív vagy negatív lebegőpontos számot tárolhatnak 1.79769313486232 x 10308 és 4.94065645841247 x 10-324 között. A double (dupla pontosságú) változók nyolc bájt memóriát foglalnak el. A double (dupla pontosságú) változók pontos számításokhoz megfelelőek. A double (dupla pontosságú) változók típusdeklarációs jele a #.
Példa double (dupla pontosságú) változók deklarálására:
Dim Valtozo As Double Dim Valtozo#
Currency (pénznem) változók
A currency (pénznem) változók eltérnek a többi változótól abban, ahogyan a számokat kezelik. A tizedespont helye rögzített, és négy tizedesjegy követi. Ez a változó legfeljebb 15 számot tartalmazhat a tizedespont előtt. A currency (pénznem) változók bármilyen számot tárolhatnak -922337203685477.5808 és +922337203685477.5807+922337203685477,5807 között, és nyolc bájtot foglalnak el a memóriából. A currency (pénznem) változók típusdeklarációs jele a @.
A currency (pénznem) változók leginkább pénzügyi számításokhoz használatosak, ahol nem megengedettek a lebegőpontos számok előre nem látható kerekítési hibái.
Példa a currency (pénznem) változók deklarálására:
Dim Valtozo As Currency Dim Valtozo@
Lebegőpontos számok
A single, double és currency típusokra gyakran hivatkoznak a lebegőpontos szám elnevezéssel. A lebegőpontos számábrázolás lényege, hogy a valós számok ábrázolásánál nincs rögzítve a tizedesjegyek (vagy tetszőleges számrendszer esetén a tört jegyek) száma. A számábrázolásnál a tizedespont „lebeg”, vagyis az ábrázolható számjegyeken belül bárhova kerülhet.
A változókat deklarálhatjuk lebegőpontos típusúként. A tényleges változótípus (single, long, currency) abban a pillanatban dől el, amikor értéket adunk a változónak.
Dim A As Float A = 1210.126
Explicit számok megadása
A számok számos módon ábrázolhatók, például decimális formátumban, tudományos jelöléssel vagy akár a tízestől eltérő számrendszerben. Az Apache OpenOffice Basicben a következő szabályok vonatkoznak a numerikus karakterekre:
Egész számok
A legegyszerűbb az egész számokkal végzett munka. Ezek a számok ezreselválasztó jel nélkül jelennek meg:
Dim A As Integer Dim B As Float A = 1210 B = 2438
A számokat megelőzheti pluszjel (+) vagy mínuszjel (-), szóközzel vagy anélkül:
Dim A As Integer Dim B As Float A = + 121 B = - 243
Törtszámok
Amikor törtszámot írunk be, mindig pontot (.) használjunk. Ez a szabály biztosítja, hogy a forrásszövegek minden országban működni fognak minden változtatás nélkül.
Dim A As Integer Dim B As Integer Dim C As Float A = 1223.53 ' kerekítve lesz B = - 23446.46 ' kerekítve lesz C = + 3532.76323
A törtszámokat is megelőzheti pluszjel (+) vagy mínuszjel (-), szóközzel vagy anélkül.
Ha egy törtszámot rendelünk egy integer (egész szám) változóhoz, akkor az Apache OpenOffice Basic kerekíti a számot felfelé vagy lefelé.
Exponenciális írásmód
Az Apache OpenOffice Basic lehetővé teszi, hogy a számokat exponenciális írásmóddal írjuk; például az 1.5 x 10-10 (0.00000000015) írható 1.5e-10 alakban is. Az "e" betű lehet kis- és nagybetű is, pluszjellel (+) vagy anélkül.
Az alábbiakban látható egy pár helyes és helytelen példa az exponenciális formátumra:
Dim A As Double A = 1.43E2 ' Helyes A = + 1.43E2 ' Helyes (szóköz a pluszjel és a szám között) A = - 1.43E2 ' Helyes (szóköz a mínuszjel és a szám között) A = 1.43E-2 ' Helyes (negatív kitevő) A = 1.43E -2 ' Helytelen (szóköz nem megengedett a számban) A = 1,43E-2 ' Helytelen (vessző nem megengedett tizedesjelként) A = 1.43E2.2 ' Helytelen (a kitevőnek egész számnak kell lennie)
Megjegyzés: az első és a harmadik helytelen példában a program nem ír ki hibaüzenetet annak ellenére, hogy a változók helytelen értéket fognak tartalmazni. Az
A = 1.43E -2
kifejezést a program 1.43 mínusz 2-ként értékeli ki, amely egyenlő -0.57-tel. Viszont mi a 1.43 * 10-2 (azaz 0.0143) értéket akartuk megadni. Az
A = 1.43E2.2
értékadásnál az Apache OpenOffice Basic nem veszi figyelembe a kitevő decimális pont utáni részét, és a kifejezést a következőképpen értékeli ki:
A = 1.43E2
Hexadecimális értékek
A hexadecimális számrendszerben (16-os számrendszer) egy kétjegyű szám pontosan egy bájtnak felel meg. Ezáltal lehetővé válik a számítógépek felépítéséhez közelebb álló számok használata. A hexadecimális számrendszerben a számok a 0-tól 9-ig terjedő számokat és az A-tól F-ig terjedő betűket használják. Az A tízes számrendszerbeli 10-nek felel meg, míg az F a tízes számrendszerbeli 15-nek. Az Apache OpenOffice Basicben csak egész hexadecimális értékek használhatók, és a számokat meg kell előznie a &H típusjelölőnek.
Dim A As Long A = &HFF ' FF hexadecimális érték, amely tízes számrendszerbeli 255-nek felel meg A = &H10 ' 10 hexadecimális érték, amely tízes számrendszerbeli 16-nak felel meg
Oktális értékek
Az Apache OpenOffice Basic megérti az oktális számrendszerbeli (8-as számrendszer) számokat is, amelyek a 0-tól 7-ig terjedő számokat használják. Csak egész számok használhatók, és a számokat meg kell előznie a &O típusjelölőnek.
Dim A As Long A = &O77 ' 77 oktális érték, amely tízes számrendszerbeli 63-nak felel meg A = &O10 ' 10 oktális érték, amely tízes számrendszerbeli 8-nak felel meg
Content on this page is licensed under the Public Documentation License (PDL). |