Šioje pamokoje su pavyzdžių pagalba sužinosite apie „JavaScript“ numerį.
„JavaScript“ skaičiai yra primityvūs duomenų tipai. Pavyzdžiui,
const a = 3; const b = 3.13;
Skirtingai nei kai kuriose kitose programavimo kalbose, neprivalote deklaruoti sveikųjų skaičių arba slankiųjų reikšmių naudodami int , float ir kt.
Jei norite įtraukti per didelius ar per mažus skaičius, galite naudoti eksponentinę žymėjimą e . Pavyzdžiui,
const a1 = 5e9; console.log(a1); //5000000000 const a2 = 5e-5; console.log(a2); // 0.00005
Skaičiai taip pat gali būti žymimi šešioliktainiais ženklais. Pavyzdžiui,
const a = 0xff; console.log(a); // 255 const b = 0x00 ; console.log(b); // 0
+ Operatorius su numeriais
Kai +
naudojamas su skaičiais, jis naudojamas skaičiams pridėti. Pavyzdžiui,
const a = 4 + 9; console.log(a); // 13
Kai +
jis naudojamas su skaičiais ir stygomis, jis naudojamas jų sujungimui. Pavyzdžiui,
const a = '4' + 9; console.log(a); // 49
Kai skaitinė eilutė naudojama kartu su kitomis skaitinėmis operacijomis, skaitinė eilutė paverčiama skaičiumi. Pavyzdžiui,
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
(ne skaičius) yra raktinis žodis, nurodantis, kad reikšmė nėra skaičius.
Atliekant aritmetines operacijas (išskyrus +
) iki skaitinės vertės su eilute, gaunama NaN
. Pavyzdžiui,
const a = 4 - 'hello'; console.log(a); // NaN
Integruotą funkciją isNaN()
galima naudoti norint sužinoti, ar reikšmė yra skaičius. Pavyzdžiui,
const a = isNaN(9); console.log(a); // false const a = isNaN(4 - 'hello'); console.log(a); // true
Kai vertė typeof
naudojama operatoriui NaN
, jis pateikia skaičių išvestį. Pavyzdžiui,
const a = 4 - 'hello'; console.log(a); // NaN console.log(typeof a); // "number"
„JavaScript Infinity“
„JavaScript“ atlikus skaičiavimą, kuris viršija didžiausią (arba mažiausią) įmanomą skaičių, Infinity
(arba -Infinity
) grąžinamas. Pavyzdžiui,
const a = 2 / 0; console.log(a); // Infinity const a = -2 / 0; console.log(a); // -Infinity
„JavaScript BigInt“
„JavaScript“ skaičiaus tipas gali reikšti tik mažesnius nei (2 53 - 1) ir daugiau nei - (2 53 - 1) skaičius . Tačiau jei jums reikia naudoti didesnį skaičių, galite naudoti „BigInt“ duomenų tipą.
„BigInt“ numeris sukuriamas pridedant n sveiko skaičiaus gale. Pavyzdžiui,
// BigInt value const value = 900719925124740998n; // Adding two big integers const value1 = value + 1n; console.log(value1); // returns "900719925124740999n"
Pastaba: „ BigInt“ buvo pristatytas naujesnėje „JavaScript“ versijoje ir jo nepalaiko daugelis naršyklių. Norėdami sužinoti daugiau, apsilankykite „JavaScript BigInt“ palaikymo tarnyboje.
„JavaScript“ numeriai saugomi 64 bitų
„JavaScript“ skaičiai saugomi 64 bitų formatu IEEE-754, dar vadinamu „dvigubo tikslumo slankiojo kablelio skaičiais“.
Skaičiai saugomi 64 bitais (skaičius saugomas nuo 0 iki 51 bitų, eksponentas - nuo 52 iki 62 bitų, o ženklas - 63 bitų).
Skaičiai | Eksponentas | Pasirašykite |
---|---|---|
52 bitai (0–51) | 11 bitų (52–62) | 1 bitai (63) |
Tikslumo problemos
Operacijos su slankiojo kablelio skaičiais sukelia keletą netikėtų rezultatų. Pavyzdžiui,
const a = 0.1 + 0.2; console.log(a); // 0.30000000000000004
Rezultatas turėtų būti 0,3, o ne 0,3000000000000000004 . Ši klaida įvyksta todėl, kad „JavaScript“ skaičiai saugomi dvejetainiu pavidalu, kad viduje būtų pateikti dešimtainiai skaitmenys. Dešimtainiai skaičiai negali būti tiksliai pavaizduoti dvejetainiu pavidalu.
Norėdami išspręsti pirmiau nurodytą problemą, galite padaryti kažką panašaus į šį:
const a = (0.1 * 10 + 0.2 * 10) / 10; console.log(a); // 0.3
Taip pat galite naudoti toFixed()
metodą.
const a = 0.1 + 0.2; console.log(a.toFixed(2)); // 0.30
toFixed(2)
dešimtainis skaičius suapvalinamas iki dviejų skaičių po kablelio.
const a = 9999999999999999 console.log(a); // 10000000000000000
Pastaba : sveikieji skaičiai yra tikslūs iki 15 skaitmenų.
Objektų skaičius
Taip pat galite sukurti skaičius naudodami new
raktinį žodį. Pavyzdžiui,
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"
Pastaba : Rekomenduojama vengti skaičiaus objektų naudojimo. Skaičių objektų naudojimas lėtina programą.
„JavaScript“ numerio metodai
Čia yra „JavaScript“ integruotų skaičių metodų sąrašas.
Metodas | apibūdinimas |
---|---|
isNaN () | nustato, ar perduota reikšmė yra NaN |
isFinite () | nustato, ar perduota reikšmė yra baigtinis skaičius |
isInteger () | nustato, ar perduota reikšmė yra sveikasis skaičius |
isSafeInteger () | nustato, ar perduota reikšmė yra saugus sveikasis skaičius |
parseFloat (eilutė) | konvertuoja skaitinę plaukiojančią eilutę į slankiojo kablelio skaičių |
parseInt (eilutė, (radix)) | konvertuoja skaitinę eilutę į skaičių |
toExponential (frakcijaDigits) | 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 | reiškia teigiamą begalybę |
prototipas | leidžia pridėti objektų Skaičius ypatybes |
Pavyzdžiui,
// 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“ numerio () funkcija
Number()
Funkcija naudojama konvertuoti įvairius duomenų tipus numeriais. Pavyzdžiui,
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
Jei norite sužinoti daugiau apie skaičių keitimą, apsilankykite „JavaScript“ tipo konversijoje.