TOC

This article has been localized into Czech by the community.

Vestavěné objekty:

Číslo

Pro práci s čísly přichází JavaScript s objektem Number. Má několik užitečných metod i některé příjemné vlastnosti, vše více či méně relevantní při manipulaci s čísly. Nezabývám se všemi členy tohoto objektu, ale určitě bychom měli hovořit o několika z těch nejužitečnějších.

Jak jsme hovořili v kapitole o datových typech JavaScriptu, jakékoli číslo definované v JavaScriptu je také objektem Number. To znamená, že nemusíte vytvářet instanci objektu Number - pokud JavaScript ví, že proměnná obsahuje číslo, můžete na něm používat metody Number (o kterých budeme diskutovat v tomto článku).

Vlastnosti Number

Začněme s vlastnostmi. Na objektu Number najdete některé užitečné vlastnosti hlavně pro poznání hodnot některých číselných konceptů, jako jsou nejvyšší a nejnižší možné hodnoty čísla v JavaScriptu, stejně jako hodnota NaN (Not a Number - Není číslo) a nekonečno (Infinity). Tyto vlastnosti budou často používány k provedení kontrol, aby se zajistilo, že hodnoty spadají do očekávaného rozsahu atd.

alert(Number.MIN_VALUE);
alert(Number.MAX_VALUE);

Můžete také odkazovat na Number.POSITIVE_INFINITY a Number.NEGATIVE_INFINITY, pokud je to potřeba. Všimněte si, že to jsou všechno statické vlastnosti, což znamená, že k nim přistupujete přímo na objektu Number. Pro úplný seznam statických vlastností pro Number se prosím odkazujte na tento seznam.

Metody Number

Na objektu Number se nachází několik užitečných metod. Ve skutečnosti jsme se na některé z nich již podívali v předchozím článku tohoto tutoriálu: parseInt() a parseFloat() jsou globálně dostupné, ale existují také jako statické metody na objektu Number:

let n1 = "40", n2 = "2.42";
alert(Number.parseInt(n1) + Number.parseFloat(n2));

Zde jsou některé z dalších užitečných metod:

Number.isInteger()

Tato metoda vám umožní zjistit, zda je číslo celé číslo (celé číslo bez jakýchkoli desetinných částí):

alert(Number.isInteger(10 / 5)); // 2
alert(Number.isInteger(10 / 3)); // 3,3333333333333333333333333333333

Všimněte si, že za vás neprovádí žádnou z magických konverzí JavaScriptu - hodnota, kterou dodáte, musí být skutečné číslo, a ne jen něco, co by mohlo být převedeno na číslo, jak je ilustrováno tímto příkladem:

alert(Number.isInteger("2")); // false
alert(Number.isInteger(2));   // true

Number.toFixed()

Použijte metodu toFixed() k formátování čísla pomocí notace pevného bodu:

let n1 = 42.3333333, n2 = 42.1, n3 = 42.51;
alert(n1.toFixed(2)); // 42.33
alert(n2.toFixed(2)); // 42.10
alert(n3.toFixed(0)); // 43

Parametr určuje, kolik číslic chcete mít za desetinnou čárkou. Jak můžete vidět z příkladu, to vám umožňuje kontrolovat, jak číslo vypadá, když je prezentováno uživateli, a dokonce provede zaokrouhlení, jak je ilustrováno posledním řádkem.

Number.toLocaleString()

Po celém světě se formátují čísla velmi odlišně. Například v USA se k oddělení celého čísla a desetinných částí používá tečka, ale v Německu a mnoha dalších evropských zemích se pro to místo toho používá čárka. To také znamená, že v některých zemích se čárka používá jako oddělovač tisíců, zatímco v jiných zemích se používá tečka, a aby toho nebylo málo, některé země používají pro toto místo mezery.

To samozřejmě činí parsování čísel obtížným úkolem, ale také to ztěžuje prezentaci čísla uživateli způsobem, který jim okamžitě dává smysl. Naštěstí nám metoda toLocaleString() v tomto ohledu může hodně pomoci. Ve své nejjednodušší formě jednoduše pěkně naformátuje číslo podle uživatelského prostředí (např. určeného prohlížečem uživatele):

let n1 = 42000.00;
alert(n1.toLocaleString());

Pokud jste z USA, výše uvedený kód by měl výsledkem být "42,000", ale pokud jste z Německa, mělo by to být "42.000". Pokud chcete mít kontrolu nad tím, jak je číslo prezentováno, můžete jako druhý parametr dodat lokální nastavení, takto:

let n1 = 42000.42;
alert(n1.toLocaleString("en-US")); // 42,000.42
alert(n1.toLocaleString("de-DE")); // 42.000,42
alert(n1.toLocaleString("sv-SE")); // 42 000,42

Může být přidán druhý parametr, kde můžete specifikovat možnosti, které se mají použít při formátování čísla. Je zde mnoho dostupných možností, které vám umožňují kontrolovat téměř všechny aspekty formátování, ale zde je příklad, který vám ukáže jen část toho, co je možné:

let n1 = 42000.421234;
let s1 = n1.toLocaleString("en-US", 
{ 
	style: "currency",
	currency: "USD"									
});

alert(s1); // $42,000.42

let s2 = n1.toLocaleString("en-US", 
{ 
	minimumFractionDigits: 1,
	maximumFractionDigits: 3,
	useGrouping: false
});

alert(s2); // 42000.421

Všimněte si, jak je stejné číslo díky specifikovaným možnostem formátováno úplně jinak. Pro úplný seznam možností se prosím poraďte s touto referencí.

Shrnutí

Při práci s čísly v JavaScriptu je vestavěný objekt Number velmi užitečný, protože nabízí několik metod, které pravděpodobně v některém okamžiku budete potřebovat.

V tomto článku jsme pokryli pouze některé z nejužitečnějších vlastností a metod objektu Number. Pokud chcete prozkoumat téma hlouběji, zvažte prohlédnutí stránky s referencí objektu Number.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!