I denne vejledning lærer du om JavaScript-nummer ved hjælp af eksempler.
I JavaScript er tal primitive datatyper. For eksempel,
const a = 3; const b = 3.13;
I modsætning til nogle andre programmeringssprog behøver du ikke specifikt at erklære for heltal eller flydende værdier ved hjælp af int , float osv.
Du kan bruge eksponentiel notation e til at medtage for store eller for små tal. For eksempel,
const a1 = 5e9; console.log(a1); //5000000000 const a2 = 5e-5; console.log(a2); // 0.00005
Tal kan også betegnes i hexadecimal notation. For eksempel,
const a = 0xff; console.log(a); // 255 const b = 0x00 ; console.log(b); // 0
+ Operatør med numre
Når +
det bruges med tal, bruges det til at tilføje numrene. For eksempel,
const a = 4 + 9; console.log(a); // 13
Når +
det bruges med tal og strenge, bruges det til at sammenkæde dem. For eksempel,
const a = '4' + 9; console.log(a); // 49
Når en numerisk streng bruges sammen med andre numeriske operationer, konverteres den numeriske streng til et tal. For eksempel,
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
I JavaScript er NaN
(ikke et tal) et nøgleord, der angiver, at værdien ikke er et tal.
Udførelse af aritmetiske operationer (undtagen +
) til numerisk værdi med streng resulterer i NaN
. For eksempel,
const a = 4 - 'hello'; console.log(a); // NaN
Den indbyggede funktion isNaN()
kan bruges til at finde ud af, om en værdi er et tal. For eksempel,
const a = isNaN(9); console.log(a); // false const a = isNaN(4 - 'hello'); console.log(a); // true
Når typeof
operatøren bruges til NaN
værdi, giver det et taloutput. For eksempel,
const a = 4 - 'hello'; console.log(a); // NaN console.log(typeof a); // "number"
JavaScript uendelig
I JavaScript returneres Infinity
(eller -Infinity
) når beregning udføres, der overstiger det største (eller mindste) mulige antal . For eksempel,
const a = 2 / 0; console.log(a); // Infinity const a = -2 / 0; console.log(a); // -Infinity
JavaScript BigInt
I JavaScript kan nummertypen kun repræsentere tal mindre end (2 53 - 1) og mere end - (2 53 - 1) . Men hvis du har brug for et større antal end det, kan du bruge datatypen BigInt.
Et BigInt-nummer oprettes ved at tilføje n til slutningen af et heltal. For eksempel,
// BigInt value const value = 900719925124740998n; // Adding two big integers const value1 = value + 1n; console.log(value1); // returns "900719925124740999n"
Bemærk: BigInt blev introduceret i den nyere version af JavaScript og understøttes ikke af mange browsere. Besøg JavaScript BigInt support for at lære mere.
JavaScript-numre gemmes i 64-bit
I JavaScript er numre gemt i 64-bit format IEEE-754, også kendt som "dobbelt præcision flydende nummer".
Tallene er gemt i 64 bit (antallet er gemt i 0 til 51 bit positioner, eksponenten i 52 til 62 bit positioner og tegnet i 63 bit position).
Tal | Eksponent | Skilt |
---|---|---|
52 bit (0-51) | 11 bits (52- 62) | 1 bit (63) |
Præcisionsproblemer
Handlinger på flydende tal resulterer i nogle uventede resultater. For eksempel,
const a = 0.1 + 0.2; console.log(a); // 0.30000000000000004
Resultatet skal være 0,3 i stedet for 0,30000000000000004 . Denne fejl opstår, fordi numre i JavaScript gemmes i binær form for at repræsentere decimalcifre internt. Og decimaltal kan ikke vises nøjagtigt i binær form.
For at løse ovenstående problem kan du gøre noget som dette:
const a = (0.1 * 10 + 0.2 * 10) / 10; console.log(a); // 0.3
Du kan også bruge toFixed()
metoden.
const a = 0.1 + 0.2; console.log(a.toFixed(2)); // 0.30
toFixed(2)
afrunder decimaltallet til to decimalværdier.
const a = 9999999999999999 console.log(a); // 10000000000000000
Bemærk : Heltal er nøjagtige op til 15 cifre.
Antal objekter
Du kan også oprette tal ved hjælp af new
nøgleordet. For eksempel,
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"
Bemærk : Det anbefales at undgå at bruge nummerobjekter. Brug af nummerobjekter bremser programmet.
JavaScript-nummermetoder
Her er en liste over indbyggede nummermetoder i JavaScript.
Metode | Beskrivelse |
---|---|
isNaN () | bestemmer, om den beståede værdi er NaN |
isFinite () | bestemmer, om den beståede værdi er et endeligt tal |
isInteger () | bestemmer, om den beståede værdi er et heltal |
isSafeInteger () | bestemmer, om den beståede værdi er et sikkert heltal |
parseFloat (streng) | konverterer den numeriske flydende streng til et flydende nummer |
parseInt (streng, (radix)) | konverterer den numeriske streng til heltal |
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 | repræsenterer positiv uendelighed |
prototype | tillader tilføjelse af egenskaber til nummerobjekter |
For eksempel,
// 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-nummer () -funktion
Den Number()
funktion bruges til at konvertere forskellige datatyper til tal. For eksempel,
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
Hvis du vil lære mere om nummerkonvertering, skal du besøge JavaScript-typekonvertering.