În acest tutorial, veți afla despre JavaScript Number cu ajutorul exemplelor.
În JavaScript, numerele sunt tipuri de date primitive. De exemplu,
const a = 3; const b = 3.13;
Spre deosebire de alte limbaje de programare, nu trebuie să declarați în mod specific valorile întregi sau flotante folosind int , float etc.
Puteți utiliza notația exponențială e pentru a include numere prea mari sau prea mici. De exemplu,
const a1 = 5e9; console.log(a1); //5000000000 const a2 = 5e-5; console.log(a2); // 0.00005
Numerele pot fi de asemenea notate în notație hexazecimală. De exemplu,
const a = 0xff; console.log(a); // 255 const b = 0x00 ; console.log(b); // 0
+ Operator cu numere
Când +
este folosit cu numere, este folosit pentru a adăuga numerele. De exemplu,
const a = 4 + 9; console.log(a); // 13
Când +
este utilizat cu numere și șiruri, este folosit pentru a le concatena. De exemplu,
const a = '4' + 9; console.log(a); // 49
Când un șir numeric este utilizat cu alte operații numerice, șirul numeric este convertit într-un număr. De exemplu,
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
În JavaScript, NaN
(Not a Number) este un cuvânt cheie care indică faptul că valoarea nu este un număr.
Efectuarea operațiilor aritmetice (cu excepția +
) la valoarea numerică cu șir rezultă NaN
. De exemplu,
const a = 4 - 'hello'; console.log(a); // NaN
Funcția încorporată isNaN()
poate fi utilizată pentru a afla dacă o valoare este un număr. De exemplu,
const a = isNaN(9); console.log(a); // false const a = isNaN(4 - 'hello'); console.log(a); // true
Atunci când typeof
operatorul este utilizat pentru NaN
valoare, acesta dă un număr de ieșire. De exemplu,
const a = 4 - 'hello'; console.log(a); // NaN console.log(typeof a); // "number"
JavaScript Infinity
În JavaScript, când se face calculul care depășește cel mai mare (sau cel mai mic) număr posibil, Infinity
(sau -Infinity
) este returnat. De exemplu,
const a = 2 / 0; console.log(a); // Infinity const a = -2 / 0; console.log(a); // -Infinity
JavaScript BigInt
În JavaScript, tipul de număr poate reprezenta numai numere mai mici de (2 53 - 1) și mai mari de - (2 53 - 1) . Cu toate acestea, dacă trebuie să utilizați un număr mai mare decât acesta, puteți utiliza tipul de date BigInt.
Un număr BigInt este creat prin adăugarea lui n la sfârșitul unui număr întreg. De exemplu,
// BigInt value const value = 900719925124740998n; // Adding two big integers const value1 = value + 1n; console.log(value1); // returns "900719925124740999n"
Notă: BigInt a fost introdus în versiunea mai nouă a JavaScript și nu este acceptat de multe browsere. Accesați asistența JavaScript BigInt pentru a afla mai multe.
Numerele JavaScript sunt stocate pe 64 de biți
În JavaScript, numerele sunt stocate în format IEEE-754 pe 64 de biți, cunoscut și sub denumirea de "numere cu virgulă mobilă cu precizie dublă".
Numerele sunt stocate în 64 de biți (numărul este stocat în pozițiile de la 0 la 51 de biți, exponentul în pozițiile de 52 până la 62 de biți și semnul în poziția de 63 biți).
Numere | Exponent | Semn |
---|---|---|
52 de biți (0 - 51) | 11 biți (52- 62) | 1 bit (63) |
Probleme de precizie
Operațiile asupra numerelor cu virgulă mobilă duc la rezultate neașteptate. De exemplu,
const a = 0.1 + 0.2; console.log(a); // 0.30000000000000004
Rezultatul ar trebui să fie 0,3 în loc de 0,30000000000000004 . Această eroare apare deoarece în JavaScript, numerele sunt stocate în formă binară pentru a reprezenta cifre zecimale la nivel intern. Și numerele zecimale nu pot fi reprezentate exact în formă binară.
Pentru a rezolva problema de mai sus, puteți face așa ceva:
const a = (0.1 * 10 + 0.2 * 10) / 10; console.log(a); // 0.3
De asemenea, puteți utiliza toFixed()
metoda.
const a = 0.1 + 0.2; console.log(a.toFixed(2)); // 0.30
toFixed(2)
rotunjește numărul zecimal la două valori zecimale.
const a = 9999999999999999 console.log(a); // 10000000000000000
Notă : numerele întregi sunt corecte până la 15 cifre.
Număr de obiecte
De asemenea, puteți crea numere folosind new
cuvântul cheie. De exemplu,
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"
Notă : Se recomandă evitarea utilizării obiectelor numerice. Utilizarea obiectelor numerice încetinește programul.
Metode de număr JavaScript
Iată o listă a metodelor numerice încorporate în JavaScript.
Metodă | Descriere |
---|---|
isNaN () | determină dacă valoarea trecută este NaN |
isFinite () | determină dacă valoarea trecută este un număr finit |
isInteger () | determină dacă valoarea trecută este un număr întreg |
isSafeInteger () | determină dacă valoarea trecută este un număr întreg sigur |
parseFloat (șir) | convertește șirul flotant numeric în număr cu virgulă mobilă |
parseInt (șir, (radix)) | convertește șirul numeric în număr întreg |
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 | reprezintă infinitul pozitiv |
prototip | permite adăugarea de proprietăți la obiectele Number |
De exemplu,
// 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
Funcția Număr JavaScript ()
Number()
Funcția este utilizată pentru a converti diferite tipuri de date la numere. De exemplu,
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
Dacă doriți să aflați mai multe despre conversia numerelor, accesați Conversia de tip JavaScript.