Freigeben über


Numerische Daten

Welchen der beiden Typen von numerischen Daten Sie in JScript wählen – ganze Zahlen und Gleitkommadaten – hängt von der Situation ab, in der sie verwendet werden sollen. Es gibt außerdem verschiedene Möglichkeiten der literalen Darstellung von ganzzahligen und Gleitkommadaten.

Positive ganze Zahlen, negative ganze Zahlen und die Zahl null sind integer-Daten. Sie können mit der Basis 10 (dezimal), der Basis 8 (oktal) und der Basis 16 (hexadezimal) dargestellt werden. Die meisten Zahlen in JScript werden als Dezimalzahlen geschrieben. Oktale ganze Zahlen sind an einer vorangestellten 0 (null) erkennbar. Sie können nur die Ziffern 0 bis 7 enthalten. Eine Zahl mit einer vorangestellten "0", in der die Ziffern "8" und/oder "9" enthalten sind, wird als Dezimalzahl interpretiert. Die Verwendung von oktalen Zahlen wird generell nicht empfohlen.

Hexadezimale (hex) ganze Zahlen sind am vorangestellten "0x" (null und x|X) erkennbar. Sie können nur die Ziffern 0 bis 9 und die Buchstaben A bis F (entweder in Groß- oder in Kleinschreibung) enthalten. Mit den Buchstaben A bis F werden die Zahlen 10 bis 15 zur Basis 10 als einzelne Ziffern dargestellt. D. h., 0xF ist äquivalent zu 15, und 0x10 ist äquivalent zu 16.

Sowohl Oktal- als auch Hexadezimalzahlen, die negativ sein können, können weder Nachkommastellen besitzen noch in wissenschaftlicher (exponentieller) Notation geschrieben werden.

Gleitkommawerte sind ganze Zahlen mit Nachkommastellen. Wie ganze Zahlen können sie literal mit Ziffern, gefolgt von einem Dezimaltrennzeichen und weiteren Stellen dargestellt werden. Außerdem besteht die Möglichkeit, sie in wissenschaftlicher Notation auszudrücken. Das heißt, dass mit dem Buchstaben "e" in Groß- oder Kleinschreibung der Wert "mal zehn hoch" dargestellt wird. Eine Zahl, die mit einer einzigen 0 beginnt und ein Dezimaltrennzeichen enthält, wird als dezimales Gleitkommaliteral interpretiert und nicht als oktales Literal.

Darüber hinaus können Gleitkommazahlen in JScript spezielle numerische Werte darstellen, die von ganzzahligen Datentypen nicht wiedergegeben werden können. Diese lauten wie folgt:

  • NaN ("Not a Number", keine Zahl). Dieser Wert wird verwendet, wenn eine mathematische Operation für ungeeignete Daten durchgeführt wird, z. B. für Zeichenfolgen oder den Wert undefined.

  • Infinity. Dieser Wert wird verwendet, wenn eine positive Zahl zu groß ist, um in JScript dargestellt zu werden.

  • -Infinity (negatives Infinity). Dieser Wert wird verwendet, wenn eine negative Zahl zu groß ist, um in JScript dargestellt zu werden.

  • Positive und negative 0 (null). JScript unterscheidet in manchen Situationen zwischen +0 und -0.

Im Folgenden finden Sie einige Beispiele für JScript-Zahlen. Beachten Sie, dass eine Zahl, die mit "0x" beginnt und ein Dezimaltrennzeichen enthält, einen Fehler auslöst.

Zahl

Beschreibung

Dezimales Äquivalent

,0001; 0,0001; 1e-4; 1,0e-4

Vier gleichwertige Gleitkommazahlen.

0.0001

3,45e2

Eine Gleitkommazahl.

345

42

Eine ganze Zahl.

42

0378

Eine ganze Zahl. Die Zahl wird als Dezimalzahl behandelt. Grund: Sie sieht zwar wie eine Oktalzahl aus (sie beginnt mit einer Null), 8 ist aber keine zulässige Oktalziffer. Führt zu einer Warnung der Warnstufe 1.

378

0377

Eine oktale ganze Zahl. Beachten Sie, dass sich der Wert dieser Zahl erheblich von dem der Zahl oben unterscheidet, obwohl er nur um eins niedriger zu sein scheint.

255

0.0001, 00.0001

Eine Gleitkommazahl. Obwohl diese Zahl mit einer Null beginnt, handelt es sich nicht um eine Oktalzahl, da sie ein Dezimalkomma enthält.

0.0001

0Xff

Eine hexadezimale ganze Zahl.

255

0x37CF

Eine hexadezimale ganze Zahl.

14287

0x3e7

Eine hexadezimale ganze Zahl. Beachten Sie, dass der Buchstabe e nicht als Potenzierung behandelt wird.

999

0x3,45e2

Das ist ein Fehler. Hexadezimalzahlen dürfen keine Nachkommastellen besitzen.

N/A (Compilerfehler)

Mit Variablen ganzzahliger Datentypen kann nur ein endlicher Zahlenbereich dargestellt werden. Wenn einem ganzzahligen Datentyp ein numerisches Literal zugewiesen werden soll, dessen Wert entweder zu groß oder zu klein ist, wird beim Kompilieren ein Typenkonfliktfehler generiert. Weitere Informationen finden Sie unter Datentypzusammenfassung.

Datentypen von Literalen

In den meisten Situationen ist der Datentyp, als den JScript numerische Literale interpretiert, bedeutungslos. Wenn die Zahlen jedoch sehr groß oder sehr genau sind, sind diese Informationen wichtig.

Ganzzahlige Literale können in JScript Daten vom Typ int, long, ulong, decimal oder double darstellen, je nach der Größe und der Verwendung des Literals. Literale im Bereich des int-Typs (-2147483648 bis 2147483647) werden als int interpretiert. Literale, die außerhalb dieses Bereichs, aber innerhalb des Bereichs des long-Typs (-9223372036854775808 bis 9223372036854775807) liegen, werden als long interpretiert. Literale, die außerhalb dieses Bereichs, aber innerhalb des Bereichs des ulong-Typs (9223372036854775807 bis 18446744073709551615) liegen, werden als ulong interpretiert. Alle anderen integer-Literale werden als double interpretiert, was mit einem Genauigkeitsverlust verbunden ist. Eine Ausnahme zu der letzten Regel besteht darin, dass das Literal als decimal interpretiert wird, wenn es unmittelbar in einer Variablen oder Konstanten vom Typ decimal gespeichert wird, oder wenn es an eine Funktion übergeben wird, die entsprechend ihrem Typ ein decimal annimmt.

Ein Gleitkommaliteral wird in JScript als double-Datentyp interpretiert, es sei denn, das Literal wird sofort als decimal verwendet (wie integer-Literale). In diesem Fall wird das Literal als decimal interpretiert. Der decimal-Datentyp kann weder NaN noch positive oder negative Infinity darstellen.

Siehe auch

Referenz

NaN-Eigenschaft (Global)

Infinity-Eigenschaft

Konzepte

JScript-Ausdrücke

Weitere Ressourcen

Daten in JScript

Datentypen (Visual Studio - JScript)