Numer JavaScript (z przykładami)

W tym samouczku dowiesz się o liczbie JavaScript na przykładach.

W JavaScript liczby są prymitywnymi typami danych. Na przykład,

 const a = 3; const b = 3.13;

W przeciwieństwie do niektórych innych języków programowania, nie musisz specjalnie deklarować wartości całkowitych lub zmiennoprzecinkowych przy użyciu int , float itp.

Możesz użyć notacji wykładniczej e, aby uwzględnić zbyt duże lub zbyt małe liczby. Na przykład,

 const a1 = 5e9; console.log(a1); //5000000000 const a2 = 5e-5; console.log(a2); // 0.00005

Liczby można również oznaczać w notacji szesnastkowej. Na przykład,

 const a = 0xff; console.log(a); // 255 const b = 0x00 ; console.log(b); // 0

+ Operator z liczbami

Kiedy +jest używany z liczbami, służy do dodawania liczb. Na przykład,

 const a = 4 + 9; console.log(a); // 13

Gdy +jest używany z liczbami i łańcuchami, służy do ich łączenia. Na przykład,

 const a = '4' + 9; console.log(a); // 49

Gdy ciąg liczbowy jest używany z innymi operacjami numerycznymi, ciąg liczbowy jest konwertowany na liczbę. Na przykład,

 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

W JavaScript NaN(Not a Number) jest słowem kluczowym wskazującym, że wartość nie jest liczbą.

Wykonywanie operacji arytmetycznych (z wyjątkiem +) na wartości liczbowej za pomocą łańcucha powoduje NaN. Na przykład,

 const a = 4 - 'hello'; console.log(a); // NaN

Funkcja wbudowana isNaN()może służyć do sprawdzania, czy wartość jest liczbą. Na przykład,

 const a = isNaN(9); console.log(a); // false const a = isNaN(4 - 'hello'); console.log(a); // true

Gdy typeofoperator jest używany jako NaNwartość, daje wynik liczbowy. Na przykład,

 const a = 4 - 'hello'; console.log(a); // NaN console.log(typeof a); // "number"

JavaScript Infinity

W JavaScript, gdy wykonywane są obliczenia, które przekraczają największą (lub najmniejszą) możliwą liczbę, zwracana jest wartość Infinity (lub -Infinity). Na przykład,

 const a = 2 / 0; console.log(a); // Infinity const a = -2 / 0; console.log(a); // -Infinity

JavaScript BigInt

W JavaScript typ Number może reprezentować tylko liczby mniejsze niż (2 53 - 1) i większe niż - (2 53 - 1) . Jeśli jednak potrzebujesz użyć większej liczby, możesz użyć typu danych BigInt.

Liczba BigInt jest tworzona przez dołączenie n na końcu liczby całkowitej. Na przykład,

 // BigInt value const value = 900719925124740998n; // Adding two big integers const value1 = value + 1n; console.log(value1); // returns "900719925124740999n"

Uwaga: BigInt został wprowadzony w nowszej wersji JavaScript i nie jest obsługiwany przez wiele przeglądarek. Odwiedź stronę wsparcia JavaScript BigInt, aby dowiedzieć się więcej.

Numery JavaScript są przechowywane w wersji 64-bitowej

W JavaScript liczby są przechowywane w 64-bitowym formacie IEEE-754, znanym również jako „liczby zmiennoprzecinkowe o podwójnej precyzji”.

Liczby są przechowywane w 64 bitach (liczba jest przechowywana w pozycjach od 0 do 51 bitów, wykładnik w pozycjach od 52 do 62 bitów, a znak w pozycji 63 bitowej).

Liczby Wykładnik potęgowy Znak
52 bity (0 - 51) 11 bitów (52-62) 1 bit (63)

Problemy z precyzją

Operacje na liczbach zmiennoprzecinkowych dają nieoczekiwane rezultaty. Na przykład,

 const a = 0.1 + 0.2; console.log(a); // 0.30000000000000004

Wynik powinien wynosić 0,3 zamiast 0,30000000000000004 . Ten błąd występuje, ponieważ w JavaScript liczby są przechowywane w postaci binarnej, aby wewnętrznie reprezentować cyfry dziesiętne. A liczb dziesiętnych nie można dokładnie przedstawić w postaci binarnej.

Aby rozwiązać powyższy problem, możesz zrobić coś takiego:

 const a = (0.1 * 10 + 0.2 * 10) / 10; console.log(a); // 0.3

Możesz także skorzystać z toFixed()metody.

 const a = 0.1 + 0.2; console.log(a.toFixed(2)); // 0.30

toFixed(2) zaokrągla liczbę dziesiętną do dwóch wartości dziesiętnych.

 const a = 9999999999999999 console.log(a); // 10000000000000000

Uwaga : liczby całkowite mają dokładność do 15 cyfr.

Liczba obiektów

Możesz również tworzyć liczby za pomocą newsłowa kluczowego. Na przykład,

 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"

Uwaga : Zaleca się unikanie obiektów liczbowych. Używanie obiektów liczbowych spowalnia działanie programu.

Metody liczbowe JavaScript

Oto lista wbudowanych metod liczbowych w JavaScript.

metoda Opis
isNaN () określa, czy przekazana wartość to NaN
isFinite () określa, czy przekazana wartość jest liczbą skończoną
isInteger () określa, czy przekazana wartość jest liczbą całkowitą
isSafeInteger () określa, czy przekazana wartość jest bezpieczną liczbą całkowitą
parseFloat (ciąg) konwertuje liczbowy łańcuch zmiennoprzecinkowy na liczbę zmiennoprzecinkową
parseInt (ciąg; (radix)) konwertuje ciąg liczbowy na liczbę całkowitą
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 reprezentuje dodatnią nieskończoność
prototyp umożliwia dodawanie właściwości do obiektów Number

Na przykład,

 // 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

Funkcja JavaScript Number ()

Number()Funkcja służy do konwersji różnych typów danych z numerami. Na przykład,

 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

Jeśli chcesz dowiedzieć się więcej o konwersji liczb, odwiedź stronę Konwersja typu JavaScript.

Interesujące artykuły...