In questo tutorial imparerai a conoscere JavaScript Number con l'aiuto di esempi.
In JavaScript, i numeri sono tipi di dati primitivi. Per esempio,
const a = 3; const b = 3.13;
A differenza di altri linguaggi di programmazione, non è necessario dichiarare specificamente valori interi o mobili utilizzando int , float , ecc.
È possibile utilizzare la notazione esponenziale e per includere numeri troppo grandi o troppo piccoli. Per esempio,
const a1 = 5e9; console.log(a1); //5000000000 const a2 = 5e-5; console.log(a2); // 0.00005
I numeri possono anche essere indicati in notazione esadecimale. Per esempio,
const a = 0xff; console.log(a); // 255 const b = 0x00 ; console.log(b); // 0
+ Operatore con numeri
Quando +
viene utilizzato con i numeri, viene utilizzato per aggiungere i numeri. Per esempio,
const a = 4 + 9; console.log(a); // 13
Quando +
viene utilizzato con numeri e stringhe, viene utilizzato per concatenarli. Per esempio,
const a = '4' + 9; console.log(a); // 49
Quando una stringa numerica viene utilizzata con altre operazioni numeriche, la stringa numerica viene convertita in un numero. Per esempio,
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
In JavaScript, NaN
(Not a Number) è una parola chiave che indica che il valore non è un numero.
L'esecuzione di operazioni aritmetiche (eccetto +
) su un valore numerico con stringa risulta NaN
. Per esempio,
const a = 4 - 'hello'; console.log(a); // NaN
La funzione incorporata isNaN()
può essere utilizzata per trovare se un valore è un numero. Per esempio,
const a = isNaN(9); console.log(a); // false const a = isNaN(4 - 'hello'); console.log(a); // true
Quando l' typeof
operatore viene utilizzato per il NaN
valore, fornisce un output numerico. Per esempio,
const a = 4 - 'hello'; console.log(a); // NaN console.log(typeof a); // "number"
JavaScript Infinity
In JavaScript, quando viene eseguito un calcolo che supera il numero più grande (o più piccolo) possibile, viene restituito Infinity
(o -Infinity
). Per esempio,
const a = 2 / 0; console.log(a); // Infinity const a = -2 / 0; console.log(a); // -Infinity
JavaScript BigInt
In JavaScript, il tipo di numero può rappresentare solo numeri inferiori a (2 53 - 1) e maggiori di - (2 53 - 1) . Tuttavia, se è necessario utilizzare un numero maggiore di quello, è possibile utilizzare il tipo di dati BigInt.
Un numero BigInt viene creato aggiungendo n alla fine di un numero intero. Per esempio,
// BigInt value const value = 900719925124740998n; // Adding two big integers const value1 = value + 1n; console.log(value1); // returns "900719925124740999n"
Nota: BigInt è stato introdotto nella versione più recente di JavaScript e non è supportato da molti browser. Visita il supporto di JavaScript BigInt per saperne di più.
I numeri JavaScript vengono memorizzati a 64 bit
In JavaScript, i numeri vengono memorizzati nel formato a 64 bit IEEE-754, noto anche come "numeri in virgola mobile a doppia precisione".
I numeri vengono memorizzati in 64 bit (il numero viene memorizzato in posizioni da 0 a 51 bit, l'esponente in posizioni da 52 a 62 bit e il segno in posizione 63 bit).
Numeri | Esponente | Cartello |
---|---|---|
52 bit (0-51) | 11 bit (52-62) | 1 bit (63) |
Problemi di precisione
Le operazioni sui numeri in virgola mobile producono alcuni risultati imprevisti. Per esempio,
const a = 0.1 + 0.2; console.log(a); // 0.30000000000000004
Il risultato dovrebbe essere 0,3 invece di 0,30000000000000004 . Questo errore si verifica perché in JavaScript i numeri vengono memorizzati in formato binario per rappresentare internamente le cifre decimali. E i numeri decimali non possono essere rappresentati esattamente in forma binaria.
Per risolvere il problema di cui sopra, puoi fare qualcosa del genere:
const a = (0.1 * 10 + 0.2 * 10) / 10; console.log(a); // 0.3
Puoi anche usare il toFixed()
metodo.
const a = 0.1 + 0.2; console.log(a.toFixed(2)); // 0.30
toFixed(2)
arrotonda il numero decimale a due valori decimali.
const a = 9999999999999999 console.log(a); // 10000000000000000
Nota : i numeri interi sono precisi fino a 15 cifre.
Numero oggetti
Puoi anche creare numeri usando la new
parola chiave. Per esempio,
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"
Nota : si consiglia di evitare di utilizzare oggetti numerici. L'utilizzo di oggetti numerici rallenta il programma.
Metodi numerici JavaScript
Ecco un elenco di metodi numerici incorporati in JavaScript.
Metodo | Descrizione |
---|---|
isNaN () | determina se il valore passato è NaN |
isFinite () | determina se il valore passato è un numero finito |
isInteger () | determina se il valore passato è un numero intero |
isSafeInteger () | determina se il valore passato è un numero intero sicuro |
parseFloat (stringa) | converte la stringa mobile numerica in un numero a virgola mobile |
parseInt (stringa, (radix)) | converte la stringa numerica in intero |
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 | rappresenta l'infinito positivo |
prototipo | consente l'aggiunta di proprietà agli oggetti Number |
Per esempio,
// 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
Funzione JavaScript Number ()
La Number()
funzione viene utilizzata per convertire vari tipi di dati in numeri. Per esempio,
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
Se desideri saperne di più sulla conversione del numero, visita Conversione del tipo JavaScript.