В този урок ще научите за JavaScript номера с помощта на примери.
В JavaScript числата са примитивни типове данни. Например,
const a = 3; const b = 3.13;
За разлика от някои други езици за програмиране, не е нужно да декларирате специално за целочислени или плаващи стойности с помощта на int , float и т.н.
Можете да използвате експоненциална нотация e, за да включите твърде големи или твърде малки числа. Например,
const a1 = 5e9; console.log(a1); //5000000000 const a2 = 5e-5; console.log(a2); // 0.00005
Числата също могат да бъдат обозначени в шестнадесетична нотация. Например,
const a = 0xff; console.log(a); // 255 const b = 0x00 ; console.log(b); // 0
+ Оператор с числа
Когато +
се използва с числа, се използва за добавяне на числата. Например,
const a = 4 + 9; console.log(a); // 13
Когато +
се използва с числа и низове, се използва за обединяването им. Например,
const a = '4' + 9; console.log(a); // 49
Когато числовият низ се използва с други числови операции, числовият низ се преобразува в число. Например,
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
В JavaScript NaN
(Not a Number) е ключова дума, която показва, че стойността не е число.
Извършване на аритметични операции (с изключение +
) на числова стойност с низови резултати в NaN
. Например,
const a = 4 - 'hello'; console.log(a); // NaN
Вградената функция isNaN()
може да се използва, за да се установи дали дадена стойност е число. Например,
const a = isNaN(9); console.log(a); // false const a = isNaN(4 - 'hello'); console.log(a); // true
Когато typeof
операторът се използва за NaN
стойност, той дава числов изход. Например,
const a = 4 - 'hello'; console.log(a); // NaN console.log(typeof a); // "number"
JavaScript Infinity
В JavaScript, когато се прави изчисление, което надвишава възможно най-голямото (или най-малкото) число, се връща Infinity
(или -Infinity
). Например,
const a = 2 / 0; console.log(a); // Infinity const a = -2 / 0; console.log(a); // -Infinity
JavaScript BigInt
В JavaScript типът числа може да представлява само числа по-малки от (2 53 - 1) и повече от - (2 53 - 1) . Ако обаче трябва да използвате по-голямо число от това, можете да използвате типа данни BigInt.
BigInt число се създава чрез добавяне на n в края на цяло число. Например,
// BigInt value const value = 900719925124740998n; // Adding two big integers const value1 = value + 1n; console.log(value1); // returns "900719925124740999n"
Забележка: BigInt е въведен в по-новата версия на JavaScript и не се поддържа от много браузъри. Посетете поддръжката на JavaScript BigInt, за да научите повече.
Номерата на JavaScript се съхраняват в 64-бита
В JavaScript числата се съхраняват в 64-битов формат IEEE-754, известен още като „числа с плаваща запетая с двойна точност“.
Числата се съхраняват в 64 бита (числото се съхранява в 0 до 51 битови позиции, експонентата в 52 до 62 битови позиции и знакът в 63 битова позиция).
Числа | Експонента | Знак |
---|---|---|
52 бита (0 - 51) | 11 бита (52-62) | 1 бит (63) |
Проблеми с прецизността
Операциите с числа с плаваща запетая водят до някои неочаквани резултати. Например,
const a = 0.1 + 0.2; console.log(a); // 0.30000000000000004
Резултатът трябва да бъде 0,3 вместо 0,30000000000000004 . Тази грешка възниква, тъй като в JavaScript числата се съхраняват в двоична форма, за да представят вътрешно десетични цифри. И десетичните числа не могат да бъдат представени точно в двоична форма.
За да разрешите горния проблем, можете да направите нещо подобно:
const a = (0.1 * 10 + 0.2 * 10) / 10; console.log(a); // 0.3
Можете също да използвате toFixed()
метода.
const a = 0.1 + 0.2; console.log(a.toFixed(2)); // 0.30
toFixed(2)
закръглява десетичното число до две десетични стойности.
const a = 9999999999999999 console.log(a); // 10000000000000000
Забележка : Целите числа са точни до 15 цифри.
Числени обекти
Можете също да създавате числа, използвайки new
ключовата дума. Например,
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"
Забележка : Препоръчително е да избягвате използването на бройни обекти. Използването на бройни обекти забавя програмата.
Методи за брой на JavaScript
Ето списък на вградените методи за брой в JavaScript.
Метод | Описание |
---|---|
isNaN () | определя дали предадената стойност е NaN |
isFinite () | определя дали предадената стойност е крайно число |
isInteger () | определя дали предадената стойност е цяло число |
isSafeInteger () | определя дали предадената стойност е безопасно цяло число |
parseFloat (низ) | преобразува числовия плаващ низ в число с плаваща запетая |
parseInt (низ, (радикс)) | преобразува числовия низ в цяло число |
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 | представлява положителна безкрайност |
прототип | позволява добавянето на свойства към Number обекти |
Например,
// 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
Функция за JavaScript номер ()
Най Number()
функция се използва за конвертиране на различни типове данни за номера. Например,
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
Ако искате да научите повече за преобразуването на числа, посетете Преобразуване на тип JavaScript.