V tomto výučbe sa dozviete o čísle JavaScriptu pomocou príkladov.
V JavaScripte sú čísla primitívne dátové typy. Napríklad,
const a = 3; const b = 3.13;
Na rozdiel od niektorých iných programovacích jazykov nemusíte deklarovať celočíselné alebo pohyblivé hodnoty pomocou príkazov int , float atď.
Môžete použiť exponenciálny zápis e, aby ste zahrnuli príliš veľké alebo príliš malé čísla. Napríklad,
const a1 = 5e9; console.log(a1); //5000000000 const a2 = 5e-5; console.log(a2); // 0.00005
Čísla možno označiť aj hexadecimálnym zápisom. Napríklad,
const a = 0xff; console.log(a); // 255 const b = 0x00 ; console.log(b); // 0
+ Operátor s číslami
Ak +
sa používa s číslami, slúži na pridanie čísel. Napríklad,
const a = 4 + 9; console.log(a); // 13
Ak +
sa používa s číslami a reťazcami, slúži na ich zreťazenie. Napríklad,
const a = '4' + 9; console.log(a); // 49
Keď sa číselný reťazec používa s inými numerickými operáciami, číselný reťazec sa prevedie na číslo. Napríklad,
const a = '4' - 2; console.log(a); // 2 const a = '4' / 2; console.log(a); // 2 const a = '4' * 2; console.log(a); // 8
JavaScript NaN
V jazyku JavaScript NaN
je kľúčové slovo (nie číslo), ktoré označuje, že hodnota nie je číslo.
+
Výsledkom vykonania aritmetických operácií (okrem ) na číselnú hodnotu s výsledkom reťazca je NaN
. Napríklad,
const a = 4 - 'hello'; console.log(a); // NaN
Vstavanú funkciu isNaN()
je možné použiť na zistenie, či je hodnotou číslo. Napríklad,
const a = isNaN(9); console.log(a); // false const a = isNaN(4 - 'hello'); console.log(a); // true
Keď sa typeof
operátor použije pre NaN
hodnotu, dá číselný výstup. Napríklad,
const a = 4 - 'hello'; console.log(a); // NaN console.log(typeof a); // "number"
JavaScript Infinity
V JavaScripte sa po vykonaní výpočtu, ktorý presahuje najväčšie (alebo najmenšie) možné číslo, vráti Infinity
(alebo -Infinity
). Napríklad,
const a = 2 / 0; console.log(a); // Infinity const a = -2 / 0; console.log(a); // -Infinity
JavaScript BigInt
V jazyku JavaScript môže typ čísla predstavovať iba čísla menšie ako (2 53 - 1) a viac ako - (2 53 - 1) . Ak však potrebujete použiť väčšie číslo, môžete použiť dátový typ BigInt.
Číslo BigInt sa vytvorí pripojením n na koniec celého čísla. Napríklad,
// BigInt value const value = 900719925124740998n; // Adding two big integers const value1 = value + 1n; console.log(value1); // returns "900719925124740999n"
Poznámka: BigInt bol predstavený v novšej verzii JavaScriptu a mnoho prehliadačov ho nepodporuje. Navštívte podporu JavaScriptu BigInt a dozviete sa viac.
Čísla JavaScriptu sú uložené v 64-bitovom formáte
V jazyku JavaScript sú čísla ukladaná v 64-bitovom formáte IEEE-754, známom tiež ako „čísla s pohyblivou rádovou čiarkou s dvojitou presnosťou“.
Čísla sú uložené na 64 bitoch (číslo je uložené na pozíciách 0 až 51 bitov, exponent na pozíciách 52 až 62 bitov a znamienko na pozícii 63 bitov).
Čísla | Exponent | Podpísať |
---|---|---|
52 bitov (0 - 51) | 11 bitov (52 - 62) | 1 bit (63) |
Problémy s presnosťou
Výsledkom operácií s číslami s pohyblivou rádovou čiarkou sú neočakávané výsledky. Napríklad,
const a = 0.1 + 0.2; console.log(a); // 0.30000000000000004
Výsledok by mal byť 0,3 namiesto 0,30000000000000004 . Táto chyba sa vyskytuje, pretože v JavaScripte sú čísla ukladaná v binárnej forme, ktorá interne predstavuje desatinné číslice. A desatinné čísla nemožno binárne zobraziť presne.
Ak chcete vyriešiť vyššie uvedený problém, môžete urobiť niečo také:
const a = (0.1 * 10 + 0.2 * 10) / 10; console.log(a); // 0.3
Môžete tiež použiť toFixed()
metódu.
const a = 0.1 + 0.2; console.log(a.toFixed(2)); // 0.30
toFixed(2)
zaokrúhli desatinné číslo na dve desatinné hodnoty.
const a = 9999999999999999 console.log(a); // 10000000000000000
Poznámka : Celé čísla sú presné až na 15 číslic.
Počet objektov
Čísla môžete vytvoriť aj pomocou new
kľúčového slova. Napríklad,
const a = 45; // creating a number object const b = new Number(45); console.log(a); // 45 console.log(b); // 45 console.log(typeof a); // "number" console.log(typeof b); // "object"
Poznámka : Odporúča sa vyhnúť sa použitiu počtu objektov. Používanie číselných objektov spomaľuje program.
Metódy číslovania JavaScriptu
Tu je zoznam vstavaných číselných metód v JavaScripte.
Metóda | Popis |
---|---|
isNaN () | určuje, či odovzdaná hodnota je NaN |
isFinite () | určuje, či je odovzdaná hodnota konečné číslo |
isInteger () | určuje, či je odovzdaná hodnota celé číslo |
isSafeInteger () | určuje, či je odovzdaná hodnota bezpečné celé číslo |
parseFloat (reťazec) | prevádza číselný pohyblivý reťazec na číslo s pohyblivou rádovou čiarkou |
parseInt (string, (radix)) | prevádza číselný reťazec na celé číslo |
toExponential (fractionDigits) | returns a string value for a number in exponential notation |
toFixed(digits) | returns a string value for a number in fixed-point notation |
toPrecision() | returns a string value for a number to a specified precision |
toString((radix)) | returns a string value in a specified radix(base) |
valueof() | returns the numbers value |
toLocaleString() | returns a string with a language sensitive representation of a number |
For example,
// check if a is integer const a = 12; console.log(Number.isInteger(a)); // true // check if b is NaN const b = NaN; console.log(Number.isNaN(b)); // true // display upto two decimal point const d = 5.1234; console.log(d.toFixed(2)); // 5.12
JavaScript Number Properties
Here is a list of Number properties in JavaScript.
Property | Description |
---|---|
EPSILON | returns the smallest interval between two representable numbers |
MAX_SAFE_INTEGER | returns the maximum safe integer |
MAX_VALUE | returns the largest possible value |
MIN_SAFE_INTEGER | returns the minimum safe integer |
MIN_VALUE | returns the smallest possible value |
NaN | represents 'Not-a-Number' value |
NEGATIVE_INFINITY | represents negative infinity |
POSITIVE_INFINITY | predstavuje kladné nekonečno |
prototyp | umožňuje pridanie vlastností do Number objektov |
Napríklad,
// largest possible value const a = Number.MAX_VALUE; console.log(a); // 1.7976931348623157e+308 // maximum safe integer const a = Number.MAX_SAFE_INTEGER; console.log(a); // 9007199254740991
Funkcia JavaScript Number ()
Táto Number()
funkcia sa používa na prevod rôznych typov údajov na čísla. Napríklad,
const a = '23'; // string const b = true; // boolean //converting to number const result1 = Number(a); const result2 = Number(b); console.log(result1); // 23 console.log(result2); // 1
Ak sa chcete dozvedieť viac o konverzii čísel, navštívte Prevod typu JavaScriptu.