e-gradiva     HTML CSS JavaScript Načrtovanje    
  logotip  
SERŠ Maribor Iskanje Primeri

Osmiška in šestnajstiška števila

JavaScript računa v dvojiškem številskem sestavu. Nam ubogim ljudem pa omogoča delo z tudi desetiškimi (osnova 10), šestnajstiškimi (osnova 16), osmiškimi (osnova 8) števili. Pri delu pa je potrebno upoštevati nekaj pravil, da lahko pravilno delamo s temi vrednostmi.

Desetiška števila se ne smejo začeti s števko nič (0). Če stran vpraša uporabnika, da vnese decimalno število, ki se začne z nič (0), mora skript te števke izbrisati in jih zamenjati z določenimi znaki preden začne delati z kakšnimi matematičnimi operacijami. Šestnajstiška števila so izražena na začetku z 0x ali 0X. Pozor! na začetku je število nič 0 in ne črka o). Števke med A in F so lahko podane kot velike ali male črke, kakorkoli si jih pač želite. Tu je nekaj šestnajstiških števil:

0X1AA
0X2c3
0xBBB

Ne zamešajte šestnajstiških števil s šestnajstiškimi zapisi, ki so uporabljeni kot vrednosti za barvne lastnosti v spletnih dokumentih. Te vrednosti so podane samo v posebnih šestnajstiških decimalnih vrednostih, ki se začnejo s simbolom # in nadaljujejo z tremi šestnajstiškimi vrednostmi, ki so med seboj spojene (na primer #A155CC).

Osmiške vrednosti so zapisane z vodilno 0, ki ji sledijo števke med 0 in 7. Osmiška števila so sestavljena samo iz celih števil.

Pretvorba nizov v števila

Števila so večkrat prikazana kot nizi. Da bi pa jih lahko uporabili v matematičnih operacijah, jih je potrebno pretvoriti v prava števila, torej tipa number. Mnogi postopki v JavaScript mirno sprejmejo števila, ki so tipa string in znajo z njimi pravilno operirati brez vseh težav in napak. V mnogih primerih se lahko za pretvorbo uporabi že preprosti operator za dodajanje in spajanje +. Pogosto je uporabljen v matematičnih operacijah, ki jih izvajamo nad števili, ki smo jih dobili iz vnosnih polj <input type="text" />, ki imajo vrednost lastnosti value tipa string.

Za mnoge matematične operacije pa je potrebno spremeniti število tipa string v število tipa number.

Za pretvorbo ima JavaScript na voljo dve funkciji:

parseInt(string [,osnova])
parseFloat(string [,osnova])

Zgled za ti funkciji je il dobljen v jeziku Java. Izraz parsing ima mnogo pomenov v programiranju. En izmed njih je izvleči. Funkcija parseInt() vrne celoštevilčno vrednost, funkcija parseFloat() pa realno število.

Primeri:

parseInt("88")             // rezultat = 88
parseInt("44.77")          // rezultat = 44
parseFloat("44.56")        // rezultat = 44.56
parseFloat("73")           // rezultat = 73
parseFloat("jure")         // rezultat = NaN

Obe funkciji ima drugi opcijski parameter, ki določa osnovo števila, ki je vsebovano v nizu. To je posej pomembno, če je prva števka v nizu 0, seveda vodilna ničla predstavlja osmiško število. S tema funkcija pa lahko takšno število predstavite tudi kot desetiško.

parseInt("011")            // rezultat = 9
parseInt("011",10)         // rezultat = 11
parseInt("F1")             // rezultat = NaN
parseInt("F1", 16)         // rezultat = 241

Iz nizov, ki vsebujejo števila lahko s tema funkcija dobimo števila. Na žalost samo. Če se začenjajo s števko. V nasprotnem primeru postopka vrneta vrednost NaN.

Pretvorba števil v nize

V večini postopkov, ki zahtevajo podatke tipa string, JavaScript samodejno v ta tip spremeni podatke tipa number.

Obstaja kar nekaj poti, ki spremenijo številčno vewdnost v niz. Že od nekdaj je znan način s uporabo praznega niza, ki se mu pripne število z operacijo za spajanje.

Primer izračuna število števk v številu.

("" + 19450).length         // rezultat = 5

Lepša pot je uporaba postopka toString().

19450.toString()            // rezultat = "19450"
(19450.toString()).length   // rezultat = "5"

Pri predstavitvi števila je mogoče uporabiti osnovo števila. Postopek se lahko uporablja za pretvorbo med številskimi sestavi.

var desetisko= 34
var sestnajstisko = desetisko.toString(16) // rezultat = "22"

Pri uporabi postopka toString() za pretvarjanje med številskimi sestavi je potrebno biti pazljiv. Rezultat postopka je niz tipa string. Rezultata tako ni mogoče neposredno uporabiti nato v matematičnih postopkih in operacijah.

Ko število ni število

JavaScript je zelo prilagodljiv jezik. To je zelo koristno, včasih pa lahko tudi povzroči težave. V kolikor nad vrednostjo "jure" izvedemo postopek parseFloat(), je to mogoč postopek. Rezultat operacije je seveda število. Toda to število je NaN. Za preverjanje, če je število res število, se uporablja globalna funkcija isNaN(), ki za neštevično vrednost števila vrne true, sicer pa false.

SERŠ Maribor : Strokovna gimnazija : 2004 : Mitja Račnik