Tässä opetusohjelmassa opit JavaScript-numerosta esimerkkien avulla.
JavaScriptissä numerot ovat primitiivisiä tietotyyppejä. Esimerkiksi,
const a = 3; const b = 3.13;
Toisin kuin joissakin muissa ohjelmointikielissä, sinun ei tarvitse erikseen ilmoittaa kokonaisluku- tai kelluvia arvoja käyttämällä int , float jne.
Voit käyttää eksponenttimerkintää e lisätäksesi liian suuria tai liian pieniä lukuja. Esimerkiksi,
const a1 = 5e9; console.log(a1); //5000000000 const a2 = 5e-5; console.log(a2); // 0.00005
Numerot voidaan merkitä myös heksadesimaalimuodossa. Esimerkiksi,
const a = 0xff; console.log(a); // 255 const b = 0x00 ; console.log(b); // 0
+ Operaattori numeroilla
Kun +
sitä käytetään numeroiden kanssa, sitä käytetään numeroiden lisäämiseen. Esimerkiksi,
const a = 4 + 9; console.log(a); // 13
Kun +
sitä käytetään numeroiden ja merkkijonojen kanssa, sitä käytetään niiden ketjutukseen. Esimerkiksi,
const a = '4' + 9; console.log(a); // 49
Kun numeerista merkkijonoa käytetään muiden numeeristen operaatioiden kanssa, numeerinen merkkijono muunnetaan luvuksi. Esimerkiksi,
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
JavaScriptissä NaN
(Not a Number) on avainsana, joka osoittaa, että arvo ei ole numero.
Suoritetaan aritmeettisia operaatioita (paitsi +
) numeeriseen arvoon merkkijonolla NaN
. Esimerkiksi,
const a = 4 - 'hello'; console.log(a); // NaN
Sisäänrakennettua toimintoa isNaN()
voidaan käyttää selvittämään, onko arvo luku. Esimerkiksi,
const a = isNaN(9); console.log(a); // false const a = isNaN(4 - 'hello'); console.log(a); // true
Kun typeof
operaattoria käytetään NaN
arvoon, se antaa numerolähdön. Esimerkiksi,
const a = 4 - 'hello'; console.log(a); // NaN console.log(typeof a); // "number"
JavaScript Infinity
Kun JavaScript suoritetaan, kun laskenta ylittää suurimman (tai pienimmän) mahdollisen määrän, Infinity
(tai -Infinity
) palautetaan. Esimerkiksi,
const a = 2 / 0; console.log(a); // Infinity const a = -2 / 0; console.log(a); // -Infinity
JavaScript BigInt
JavaScriptissä Numerotyyppi voi edustaa vain alle (2 53 - 1) ja yli - (2 53 - 1) olevia lukuja . Jos sinun on kuitenkin käytettävä suurempaa numeroa, voit käyttää BigInt-tietotyyppiä.
BigInt-numero luodaan liittämällä n kokonaisluvun loppuun. Esimerkiksi,
// BigInt value const value = 900719925124740998n; // Adding two big integers const value1 = value + 1n; console.log(value1); // returns "900719925124740999n"
Huomaa: BigInt esiteltiin JavaScriptin uudemmassa versiossa, ja monet selaimet eivät tue sitä. Käy JavaScript BigInt -tuessa saadaksesi lisätietoja.
JavaScript-numerot tallennetaan 64-bittisiksi
JavaScriptissä numerot tallennetaan 64-bittisessä muodossa IEEE-754, joka tunnetaan myös nimellä "kaksitarkat liukuluvut".
Numerot tallennetaan 64 bittiä (numero tallennetaan 0-51-bittisiin paikkoihin, eksponentti 52-62-bittisiin sijainteihin ja merkki 63-bittiseen asemaan).
Numerot | Eksponentti | Merkki |
---|---|---|
52 bittiä (0-51) | 11 bittiä (52-62) | 1 bitti (63) |
Tarkkuusongelmat
Toiminnot liukulukuihin johtavat odottamattomiin tuloksiin. Esimerkiksi,
const a = 0.1 + 0.2; console.log(a); // 0.30000000000000004
Tuloksen tulisi olla 0,3 eikä 0,3000000000000000004 . Tämä virhe tapahtuu, koska JavaScriptissä numerot tallennetaan binaarimuodossa edustamaan desimaalilukuja sisäisesti. Ja desimaalilukuja ei voida esittää tarkasti binaarimuodossa.
Voit ratkaista yllä olevan ongelman seuraavasti:
const a = (0.1 * 10 + 0.2 * 10) / 10; console.log(a); // 0.3
Voit käyttää myös toFixed()
menetelmää.
const a = 0.1 + 0.2; console.log(a.toFixed(2)); // 0.30
toFixed(2)
pyöristää desimaaliluvun kahteen desimaalilukuun.
const a = 9999999999999999 console.log(a); // 10000000000000000
Huomaa : Kokonaisluvut ovat tarkkoja enintään 15 numeroa.
Numeroobjektit
Voit myös luoda numeroita new
avainsanalla. Esimerkiksi,
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"
Huomautus : On suositeltavaa välttää lukuobjektien käyttöä. Numeroobjektien käyttö hidastaa ohjelmaa.
JavaScript-numeromenetelmät
Tässä on luettelo sisäänrakennetuista lukumenetelmistä JavaScriptissä.
Menetelmä | Kuvaus |
---|---|
isNaN () | määrittää, onko välitetty arvo NaN |
isFinite () | määrittää, onko välitetty arvo äärellinen luku |
isInteger () | määrittää, onko välitetty arvo kokonaisluku |
isSafeInteger () | määrittää, onko välitetty arvo turvallinen kokonaisluku |
parseFloat (merkkijono) | muuntaa numeerisen kelluvan merkkijonon liukuluvuksi |
parseInt (merkkijono, (radix)) | muuntaa numeerisen merkkijonon kokonaisluvuksi |
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 | edustaa positiivista ääretöntä |
prototyyppi | sallii ominaisuuksien lisäämisen Numero-objekteihin |
Esimerkiksi,
// 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-numero () -toiminto
Number()
Toimintoa käytetään muuntaa eri tietotyyppejä numeroita. Esimerkiksi,
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
Jos haluat lisätietoja numeronmuunnoksesta, käy JavaScript-tyypin muunnoksessa.