In diesem Tutorial lernen Sie anhand von Beispielen die JavaScript-Nummer kennen.
In JavaScript sind Zahlen primitive Datentypen. Beispielsweise,
const a = 3; const b = 3.13;
Anders als in einigen anderen Programmiersprachen müssen Sie mit int , float usw. nicht speziell für ganzzahlige oder schwebende Werte deklarieren .
Sie können die Exponentialschreibweise e verwenden , um zu große oder zu kleine Zahlen einzuschließen. Beispielsweise,
const a1 = 5e9; console.log(a1); //5000000000 const a2 = 5e-5; console.log(a2); // 0.00005
Zahlen können auch in hexadezimaler Schreibweise angegeben werden. Beispielsweise,
const a = 0xff; console.log(a); // 255 const b = 0x00 ; console.log(b); // 0
+ Operator mit Zahlen
Wenn +
es mit Zahlen verwendet wird, werden die Zahlen hinzugefügt. Beispielsweise,
const a = 4 + 9; console.log(a); // 13
Wenn +
es mit Zahlen und Zeichenfolgen verwendet wird, wird es verwendet, um sie zu verketten. Beispielsweise,
const a = '4' + 9; console.log(a); // 49
Wenn eine numerische Zeichenfolge mit anderen numerischen Operationen verwendet wird, wird die numerische Zeichenfolge in eine Zahl konvertiert. Beispielsweise,
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 ist NaN
(keine Zahl) ein Schlüsselwort, das angibt, dass der Wert keine Zahl ist.
Das Ausführen von arithmetischen Operationen (außer +
) für numerische Werte mit Zeichenfolgen führt zu NaN
. Beispielsweise,
const a = 4 - 'hello'; console.log(a); // NaN
Mit der integrierten Funktion isNaN()
können Sie feststellen, ob ein Wert eine Zahl ist. Beispielsweise,
const a = isNaN(9); console.log(a); // false const a = isNaN(4 - 'hello'); console.log(a); // true
Wenn der typeof
Operator für den NaN
Wert verwendet wird, gibt er eine Zahlenausgabe aus. Beispielsweise,
const a = 4 - 'hello'; console.log(a); // NaN console.log(typeof a); // "number"
JavaScript Infinity
Wenn in JavaScript eine Berechnung durchgeführt wird, die die größte (oder kleinste) mögliche Anzahl überschreitet, wird Infinity
(oder -Infinity
) zurückgegeben. Beispielsweise,
const a = 2 / 0; console.log(a); // Infinity const a = -2 / 0; console.log(a); // -Infinity
JavaScript BigInt
In JavaScript kann der Zahlentyp nur Zahlen darstellen, die kleiner als (2 53 - 1) und größer als - (2 53 - 1) sind . Wenn Sie jedoch eine größere Anzahl verwenden müssen, können Sie den Datentyp BigInt verwenden.
Eine BigInt-Nummer wird erstellt, indem n an das Ende einer Ganzzahl angehängt wird . Beispielsweise,
// BigInt value const value = 900719925124740998n; // Adding two big integers const value1 = value + 1n; console.log(value1); // returns "900719925124740999n"
Hinweis: BigInt wurde in der neueren Version von JavaScript eingeführt und wird von vielen Browsern nicht unterstützt. Besuchen Sie den JavaScript BigInt-Support, um mehr zu erfahren.
JavaScript-Nummern werden in 64-Bit gespeichert
In JavaScript werden Zahlen im 64-Bit-Format IEEE-754 gespeichert, das auch als "Gleitkommazahlen mit doppelter Genauigkeit" bezeichnet wird.
Die Zahlen werden in 64 Bit gespeichert (die Zahl wird in 0 bis 51 Bitpositionen gespeichert, der Exponent in 52 bis 62 Bitpositionen und das Vorzeichen in 63 Bitpositionen).
Zahlen | Exponent | Zeichen |
---|---|---|
52 Bits (0 - 51) | 11 Bits (52-62) | 1 Bit (63) |
Präzisionsprobleme
Operationen mit Gleitkommazahlen führen zu unerwarteten Ergebnissen. Beispielsweise,
const a = 0.1 + 0.2; console.log(a); // 0.30000000000000004
Das Ergebnis sollte 0,3 statt 0,30000000000000004 sein . Dieser Fehler tritt auf, weil in JavaScript Zahlen in binärer Form gespeichert werden, um intern Dezimalstellen darzustellen. Und Dezimalzahlen können nicht genau in binärer Form dargestellt werden.
Um das oben genannte Problem zu lösen, können Sie Folgendes tun:
const a = (0.1 * 10 + 0.2 * 10) / 10; console.log(a); // 0.3
Sie können die toFixed()
Methode auch verwenden .
const a = 0.1 + 0.2; console.log(a.toFixed(2)); // 0.30
toFixed(2)
rundet die Dezimalzahl auf zwei Dezimalwerte auf.
const a = 9999999999999999 console.log(a); // 10000000000000000
Hinweis : Ganzzahlen sind bis zu 15 Stellen genau.
Anzahl Objekte
Sie können auch Zahlen mit dem new
Schlüsselwort erstellen . Beispielsweise,
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"
Hinweis : Es wird empfohlen, die Verwendung von Zahlenobjekten zu vermeiden. Die Verwendung von Zahlenobjekten verlangsamt das Programm.
JavaScript-Nummernmethoden
Hier ist eine Liste der in JavaScript integrierten Zahlenmethoden.
Methode | Beschreibung |
---|---|
isNaN () | bestimmt, ob der übergebene Wert NaN ist |
isFinite () | bestimmt, ob der übergebene Wert eine endliche Zahl ist |
isInteger () | bestimmt, ob der übergebene Wert eine Ganzzahl ist |
isSafeInteger () | bestimmt, ob der übergebene Wert eine sichere Ganzzahl ist |
parseFloat (Zeichenfolge) | konvertiert die numerische Gleitkommazahl in eine Gleitkommazahl |
parseInt (string, (radix)) | konvertiert die numerische Zeichenfolge in eine Ganzzahl |
toExponential (fraktionDigits) | 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 | steht für positive Unendlichkeit |
Prototyp | Ermöglicht das Hinzufügen von Eigenschaften zu Number-Objekten |
Beispielsweise,
// 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 Number () Funktion
Die Number()
Funktion wird verwendet, um verschiedene Datentypen in Zahlen umzuwandeln. Beispielsweise,
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
Wenn Sie mehr über die Nummernkonvertierung erfahren möchten, besuchen Sie die JavaScript-Typkonvertierung.