JavaScript pracuje s mnoha různými objekty. Dnes se zaměřím na ty nejzákladnější, a to obyčejná čísla. Článek tedy bude zaměřen na podrobný popis toho, jak se JavaScript chová k číslům. Je určen spíše pro začátečníky v JavaScriptu.

Obyčejná čísla mohou být v zásadě dvojího druhu:

  • celá čísla – celá čísla jsou teoreticky podle matematiky jakákoli čísla, které neobsahují desetinnou čárku. Počítače ovšem nekopírují přesně myšlenky matematiků, takže celá čísla v JavaScriptu jsou trochu omezenější. Hlavním omezením je to, že celé číslo nesmí být příliš veliké. Povolen je obvykle rozsah zhruba od minus dvou miliard do plus dvou miliard. Velkou výhodou je, že počítač počítá s celými čísly velice rychle (i když u JavaScriptu toto není příliš podstatné).
  • reálná čísla – někdy také nazývaná čísla s plovoucí čárkou. Umožňují používat čísla s desetinnou čárkou, jako je třeba 3,14. Také umožňují používat větší čísla, než se vejdou do celých čísel. Reálná čísla zase nejsou naprosto matematicky dokonalá, a tak mají určitá omezení, i když tato omezení jsou menší, než u celých čísel, a pro většinu z vás nejsou podstatná. Především je omezená přesnost, ta je obvykle někde mezi 15 – 20 desetinnými místy. Do reálných čísel uložíte i obrovská čísla, ale i zde je strop, i když je hodně vysoký. Počítač pracuje s reálnými čísly dost rychle, ale přeci jenom pomaleji, než s celými čísly.

JavaScript rozeznává mezi výše uvedenými druhy čísel podle toho, jak je zapíšete. Pokud se v zápisu vyskytují pouze číslice, nebo písmeno x, potom je to celé číslo. Pokud se objeví i desetinná tečka, a nebo písmeno E, potom je to reálné číslo. Takto řečeno to ale není úplně přesné, takže uvedu, jak se dají čísla zapisovat.

Zápis celých čísel

Celé číslo je možné zapsat ve třech variantách, buď v obyčejné desítkové soustavě, což je pro nás každý běžný zápis čísla. Počítačoví znalci ještě znají zápis v osmičkové a šestnáctkové soustavě.

Celé číslo v desítkové soustavě je v podstatě to, na co jste zvyklí z běžného života. Třeba 1234567, nebo případně se znaménkem mínus například -123. Dejte si pozor na jeden chyták, který JavaScript podědil z jazyka C. Nepište na začátek čísla nuly! Mohli byste se potom divit. Zvláště lidé pořádkumilovní, kteří chtějí mít pěkně srovnaný zápis v JavaScriptu, toto dělají. Dodnes nezapomenu na jednoho bývalého účetního, jak se nestačil divit. Princip je v tom, že JavaScript bere čísla začínají nulou jako čísla v osmičkové soustavě, kdy stejný zápis má jiný význam. Jako příklad mohu uvést, že 0377 bere JavaScript jako 255. Dejte si tedy pozor a jediné číslo, které pište začínající nulou je 0, která je bez problému.

Jak už jsem naznačil, pokud číslo začíná nulou, je bráno v osmičkové soustavě. Tuto soustavu dnes znají zejména lidé, kteří se setkali se samými začátky počítačů, i když i dnes se sporadicky osmičková soustava používá.

Pokud číslo začíná 0x, nebo 0X, potom jej JavaScript bere jako číslo v šestnáctkové soustavě. Tuto soustavu znají dobře lidé, kteří vědí více o počítačích. Pro běžného člověka není příliš potřebná.

Zápis reálných čísel

Reálná čísla se zapisují tak, jak je běžně známe. Třeba 1.2, nebo -18.5, atd. Tedy jakmile se vyskytne desetinná tečka, JavaScript číslo považuje za reálné. V takovém případě neplatí varování o tom, že číslo by nemělo začínat nulou, JavaScript vám u reálných čísel žádné takové překvapení nenadělí.

Pokud před desetinnou tečkou máte nulu, jako třeba 0.123, potom je možné nulu na začátku vynechat a napsat číslo takto: .123 a vše je v pořádku. To ostatně pracuje i na kalkulačkách.

Poslední možností je přidání E, které posouvá desetinnou tečku. Například zápis 1.45E1 posune desetinnou tečku o jednu doprava, dostáváme tedy číslo 14.5. Pokud je za E záporné číslo, posouvá se tečka doleva. Třeba 123.56E-2 znamená číslo 1.2356. Pokud žádná tečka v zápisu není, bere se, jako kdyby byla na konci čísla. Používat E má význam u velkých, nebo naopak dost malých čísel. Třeba miliardu můžete zapsat jako 1000000000, tedy jako číslo s devíti nulami, a nebo přehledněji jako 1E9.

Test zápisu

Protože jsem vás upozorňoval, že některé zápisy jsou v jiných soustavách, můžete si je zde vyzkoušet:

Do pole můžete zapsat číslo, a po kliknutí na tlačítko se dozvíte, jak ho JavaScript chápe. Doporučuji vyzkoušet zápisy jako je 0377, nebo 0x12, stejně tak jako 12E5. A nebo co vás napadne. Pokud zapíšete něco, čemu nerozumí, objeví se okno s upozorněním na chybu v JavaScriptu.

A to je pro dnešek vše.

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.

Žádný příspěvek v diskuzi

Odpovědět