Selles õpetuses saate näidete abil õppida JavaScripti numbrit.
JavaScripti numbrid on primitiivsed andmetüübid. Näiteks,
const a = 3; const b = 3.13;
Erinevalt mõnest teisest programmeerimiskeelest ei pea te int , float jne abil eraldi deklareerima täis- või ujukväärtusi .
Liiga suurte või liiga väikeste arvude lisamiseks võite kasutada eksponentsiaalset tähistust e . Näiteks,
const a1 = 5e9; console.log(a1); //5000000000 const a2 = 5e-5; console.log(a2); // 0.00005
Numbreid saab tähistada ka kuueteistkümnendsüsteemis. Näiteks,
const a = 0xff; console.log(a); // 255 const b = 0x00 ; console.log(b); // 0
+ Operaator numbritega
Kui +
seda kasutatakse koos numbritega, kasutatakse seda numbrite lisamiseks. Näiteks,
const a = 4 + 9; console.log(a); // 13
Kui +
seda kasutatakse numbrite ja stringidega, kasutatakse seda nende liitmiseks. Näiteks,
const a = '4' + 9; console.log(a); // 49
Kui numbristringi kasutatakse koos teiste arvuliste toimingutega, teisendatakse numbristring numbriks. Näiteks,
const a = '4' - 2; console.log(a); // 2 const a = '4' / 2; console.log(a); // 2 const a = '4' * 2; console.log(a); // 8
JavaScripti NaN
JavaScripti puhul on NaN
(mitte arv) märksõna, mis näitab, et väärtus pole arv.
Aritmeetiliste toimingute (välja arvatud +
) arvväärtusele viimine stringiga annab tulemuseks NaN
. Näiteks,
const a = 4 - 'hello'; console.log(a); // NaN
Sisseehitatud funktsiooni abil isNaN()
saab leida, kas väärtus on arv. Näiteks,
const a = isNaN(9); console.log(a); // false const a = isNaN(4 - 'hello'); console.log(a); // true
Kui typeof
operaatorit kasutatakse NaN
väärtuse saamiseks, annab see numbri väljundi. Näiteks,
const a = 4 - 'hello'; console.log(a); // NaN console.log(typeof a); // "number"
JavaScripti lõpmatus
JavaScripti puhul tagastatakse Infinity
(või -Infinity
) arvutus, mis ületab suurima (või väikseima) võimaliku arvu . Näiteks,
const a = 2 / 0; console.log(a); // Infinity const a = -2 / 0; console.log(a); // -Infinity
JavaScripti BigInt
JavaScripti puhul saab numbritüüp tähistada ainult väiksemaid kui (2 53 - 1) ja rohkem kui - (2 53 - 1) . Kui teil on siiski vaja kasutada suuremat numbrit, võite kasutada BigInt andmetüüpi.
BigInt-number luuakse, lisades n täisarvu lõppu. Näiteks,
// BigInt value const value = 900719925124740998n; // Adding two big integers const value1 = value + 1n; console.log(value1); // returns "900719925124740999n"
Märkus. BigInt võeti kasutusele JavaScripti uuemas versioonis ja paljud brauserid seda ei toeta. Lisateabe saamiseks külastage JavaScripti BigIti tugiteenust.
JavaScripti numbreid hoitakse 64-bitises
JavaScripti numbrid on salvestatud 64-bitises vormingus IEEE-754, mida nimetatakse ka kahekordse täpsusega ujukoma numbriteks.
Numbrid salvestatakse 64-bitisena (number on salvestatud 0–51-bitisesse positsiooni, eksponent 52–62-bitisesse ja märk 63-bitisesse positsiooni).
Numbrid | Eksponent | Logi alla |
---|---|---|
52 bitti (0-51) | 11 bitti (52–62) | 1 bitti (63) |
Täpsusprobleemid
Operatsioonid ujukomaarvudega annavad ootamatu tulemuse. Näiteks,
const a = 0.1 + 0.2; console.log(a); // 0.30000000000000004
Tulemuseks peaks olema 0,3, mitte 0,000000000000000004 . See tõrge ilmneb seetõttu, et JavaScripti numbrid salvestatakse binaarkujul, et tähistada kümnendkohti sisemiselt. Ja kümnendarvusid ei saa kahendkujul täpselt esitada.
Ülaltoodud probleemi lahendamiseks võite teha midagi sellist:
const a = (0.1 * 10 + 0.2 * 10) / 10; console.log(a); // 0.3
Võite kasutada ka toFixed()
meetodit.
const a = 0.1 + 0.2; console.log(a.toFixed(2)); // 0.30
toFixed(2)
ümardab kümnendarvu kahe komakohani.
const a = 9999999999999999 console.log(a); // 10000000000000000
Märkus : täisarvud on täpsed kuni 15 numbrit.
Objektide arv
new
Märksõna abil saate ka numbreid luua . Näiteks,
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"
Märkus . Soovitatav on vältida numbriobjektide kasutamist. Numbriobjektide kasutamine aeglustab programmi.
JavaScripti numbrimeetodid
Siin on loend JavaScripti sisseehitatud arvumeetoditest.
Meetod | Kirjeldus |
---|---|
isNaN () | määrab, kas läbitud väärtus on NaN |
isFinite () | määrab, kas edastatud väärtus on lõplik arv |
isInteger () | määrab, kas edastatud väärtus on täisarv |
isSafeInteger () | määrab, kas edastatud väärtus on ohutu täisarv |
parseFloat (string) | teisendab arvulise ujuva stringi ujukoma numbriks |
parseInt (string, (radix)) | teisendab numbrilise stringi täisarvuks |
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 | tähistab positiivset lõpmatust |
prototüüp | võimaldab lisada objektidele Number omadusi |
Näiteks,
// 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
JavaScripti number () funktsioon
Number()
Funktsiooni kasutatakse teisendada erinevate andmetüüpide numbritele. Näiteks,
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
Kui soovite lisateavet numbrite teisendamise kohta, külastage JavaScripti tüübi teisendamist.