Numerische Datentypen

Unter diesem Thema werden die von Snowflake unterstützten numerischen Datentypen sowie die unterstützten Formate für numerische Konstanten und Literale beschrieben.

Datentypen für Festkommazahlen

Snowflake unterstützt bei Festkommazahlen die folgenden Datentypen.

NUMBER

Zahlen mit bis zu 38 Ziffern mit einer optionalen Genauigkeit und Skalierung:

Genauigkeit:

Gesamtzahl der zulässigen Stellen.

Skalierung:

Anzahl der Stellen, die nach dem Komma zulässig sind.

Standardmäßig ist die Genauigkeit 38 und die Skalierung 0 (d. h. NUMBER(38, 0)). Die Genauigkeit begrenzt den Bereich der Werte, die in Spalten eines bestimmten Typs eingefügt oder umgewandelt werden können. Zum Beispiel passt der Wert 999 in NUMBER(38,0), jedoch nicht in NUMBER(2,0).

Da die Genauigkeit die Gesamtzahl der zulässigen Stellen ist, können Sie keinen Wert in eine NUMBER-Spalte laden, wenn die Anzahl der Vorkommastellen die Genauigkeit der Spalte abzüglich der Nachkommastellen überschreitet. Beispiel: NUMBER(20, 2) erlaubt 18 Ziffern vor und zwei Ziffern nach dem Dezimalkomma, also insgesamt 20 Ziffern.

Die maximale Skalierung, d. h. die maximale Zahl der Nachkommastellen, beträgt 37. Zahlen mit weniger als 38 signifikante Stellen, deren Stelle mit dem niedrigsten Wert jedoch hinter der 37. Dezimalstelle liegt, z. B. 0,0000000000000000000000000000000000000012 (1,2e-39), können nicht dargestellt werden, ohne einige Genauigkeitsstellen verlorengehen.

Bemerkung

Wenn Daten in einen anderen Datentyp mit geringerer Genauigkeit konvertiert und dann in einen Datentyp mit höherer Genauigkeit zurückkonvertiert werden, kann es zu einem Genauigkeitsverlust kommen. Beispielsweise geht Genauigkeit verloren, wenn Sie einen NUMBER(38,37)-Wert in einen DOUBLE-Wert (mit einer Genauigkeit von etwa 15 Dezimalstellen) und dann wieder zurück in NUMBER konvertieren.

Snowflake unterstützt auch den Datentyp FLOAT, der einen größeren Wertebereich erlaubt, wenn auch mit geringerer Genauigkeit.

DECIMAL , DEC , NUMERIC

Gleichbedeutend mit NUMBER.

INT , INTEGER , BIGINT , SMALLINT , TINYINT , BYTEINT

Gleichbedeutend mit NUMBER, außer das Genauigkeit und Skalierung nicht angegeben werden können (d. h. der Standardwert ist immer NUMBER(38, 0)). Daher besteht der Wertebereich für alle INTEGER-Datentypen aus ganzzahligen Werten von -99999999999999999999999999999999999999 bis +99999999999999999999999999999999999999 (einschließlich).

Die verschiedenen Namen (z. B. TINYINT, BYTEINT usw.) sollen die Portierung von anderen Systemen vereinfachen und den erwarteten Wertebereich für eine Spalte des angegebenen Typs vorschlagen.

Auswirkung von Präzision und Skalierung auf die Speichergröße

Die Genauigkeit (die Gesamtzahl der Ziffern) hat keinen Einfluss auf die Speicherung. Die Speicheranforderungen für dieselbe Anzahl in Spalten mit unterschiedlichen Genauigkeiten, wie z. B. NUMBER(2,0) und NUMBER(38,0), sind gleich. Für jede Mikropartition legt Snowflake die Mindest- und Höchstwerte für eine bestimmte Spalte fest und verwendet diese Information, um die Speichergröße für alle Werte in der Partition für diese Spalte zu ermitteln. Beispiel:

  • Enthält eine Spalte nur Werte zwischen -128 und +127, verbraucht jeder Wert 1 Byte (unkomprimiert).

  • Wenn der größte Wert in der Spalte 10000000 ist, verbraucht jeder Wert 4 Byte (unkomprimiert).

Die Skalierung (die Anzahl der Nachkommastellen) wirkt sich jedoch auf die Speicherung aus. Beispielsweise verbraucht derselbe Wert, der in einer Spalte vom Typ NUMBER(10,5) gespeichert wird, mehr Platz als bei NUMBER(5,0). Außerdem kann die Verarbeitung von Werten mit einer größeren Skalierung etwas langsamer sein und mehr Speicher verbrauchen.

Um Platz zu sparen, komprimiert Snowflake die Werte, bevor diese in den Speicher geschrieben werden. Der Grad der Komprimierung hängt von den Datenwerten und anderen Faktoren ab.

Beispiele für Festkomma-Datentypen in einer Tabelle

Die folgende Anweisung erstellt eine Tabelle mit Spalten mit verschiedenen Festkommadatentypen:

CREATE OR REPLACE TABLE test_fixed(
  num0 NUMBER,
  num10 NUMBER(10,1),
  dec20 DECIMAL(20,2),
  numeric30 NUMERIC(30,3),
  int1 INT,
  int2 INTEGER);

DESC TABLE test_fixed;
Copy
+-----------+--------------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------+
| name      | type         | kind   | null? | default | primary key | unique key | check | expression | comment | policy name | privacy domain |
|-----------+--------------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------|
| NUM0      | NUMBER(38,0) | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
| NUM10     | NUMBER(10,1) | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
| DEC20     | NUMBER(20,2) | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
| NUMERIC30 | NUMBER(30,3) | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
| INT1      | NUMBER(38,0) | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
| INT2      | NUMBER(38,0) | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
+-----------+--------------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------+

Datentypen für Fließkommazahlen

Snowflake unterstützt die folgenden Datentypen für binäre Festkommazahlen.

FLOAT , FLOAT4 , FLOAT8

Die Namen FLOAT, FLOAT4 und FLOAT8 dienen der Kompatibilität mit anderen Systemen. Snowflake behandelt alle drei als 64-Bit-Gleitkommazahlen.

Genauigkeit

Snowflake verwendet Fließkommazahlen mit doppelter Genauigkeit (64 Bit) IEEE 754.

Die Genauigkeit beträgt ungefähr 15 Stellen. Für ganze Zahlen liegt der Wertebereich beispielsweise zwischen -9007199254740991 und +9007199254740991 (-2\ 53 + 1 bis +2\ 53 - 1). Der Wertebereich von Gleitkommawerten liegt ungefähr zwischen 10-308 und 10+308. Snowflake kann extremere Werte zwischen etwa 10-324 und 10-308 mit geringerer Genauigkeit darstellen. Weitere Informationen dazu finden Sie im Wikipedia-Artikel über Zahlen mit doppelter Genauigkeit.

Snowflake unterstützt auch den Datentyp NUMBER, der eine größere Präzision ermöglicht, wenn auch mit einem kleineren Bereich von Exponenten.

Besondere Werte

Snowflake unterstützt die folgenden speziellen FLOAT-Werte:

  • 'NaN' (keine Zahl)

  • 'inf' (Unendlichkeit)

  • '-inf' (negative Unendlichkeit)

Die Symbole 'NaN', 'inf' und '-inf' müssen in einfache Anführungszeichen gesetzt werden. Dabei wird die Groß-/Kleinschreibung nicht berücksichtigt.

Die Vergleichssemantik für 'NaN' unterscheidet sich vom IEEE 754-Standard in folgenden Punkten:

Bedingung

Snowflake

IEEE 754

Kommentar

'NaN' = 'NaN'

TRUE

FALSE

In Snowflake sind 'NaN'-Werte alle gleich.

'NaN' > X ., wobei X ein beliebiger FLOAT-Wert ist, einschließlich . unendlich (mit Ausnahme von NaN selbst).

TRUE

FALSE

In Snowflake ist 'NaN' größer . als jeder andere FLOAT-Wert, . einschließlich unendlich.

Rundungsfehler

Bei Gleitkommaoperationen können in den niederwertigsten Stellen kleine Rundungsfehler auftreten. Rundungsfehler können bei jeder Art von Gleitkommaverarbeitung auftreten, einschließlich trigonometrischer Funktionen, statistischer Funktionen und Geodatenfunktionen.

Hinweise zu Rundungsfehlern finden Sie in der folgenden Liste:

  • Die Fehler können bei jeder Ausführung der Abfrage variieren.

  • Die Fehler können größer sein, wenn die Operanden eine unterschiedliche Genauigkeit oder Skalierung haben.

  • Fehler können sich summieren, insbesondere wenn Aggregatfunktionen (z. B. SUM oder AVG) eine große Anzahl von Zeilen verarbeiten. Eine Umwandlung in einen Festkommadatentyp vor dem Aggregieren kann diese Fehler reduzieren oder beseitigen.

  • Rundungsfehler können nicht nur bei der Verwendung von SQL auftreten, sondern auch bei der Arbeit mit anderem Code (z. B. Java, JavaScript oder Python), der innerhalb von Snowflake ausgeführt wird (z. B. in UDFs und gespeicherten Prozeduren).

  • Beim Vergleich zweier Gleitkommazahlen empfiehlt Snowflake, eher auf ungefähre Gleichheit als auf exakte Gleichheit zu prüfen.

Es könnte möglich sein, diese Arten von Näherungsfehlern zu vermeiden, indem Sie den exakten DECFLOAT-Datentyp verwenden.

DOUBLE , DOUBLE PRECISION , REAL

Synonym für FLOAT.

Beispiele für Fließkomma-Datentypen in einer Tabelle

Die folgende Anweisung erstellt eine Tabelle mit Spalten mit verschiedenen Gleitkommadatentypen:

CREATE OR REPLACE TABLE test_float(
  double1 DOUBLE,
  float1 FLOAT,
  dp1 DOUBLE PRECISION,
  real1 REAL);

DESC TABLE test_float;
Copy
+---------+-------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------+
| name    | type  | kind   | null? | default | primary key | unique key | check | expression | comment | policy name | privacy domain |
|---------+-------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------|
| DOUBLE1 | FLOAT | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
| FLOAT1  | FLOAT | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
| DP1     | FLOAT | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
| REAL1   | FLOAT | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
+---------+-------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------+

Bemerkung

In der Spalte DESC des Befehls TABLE type wird der Datentyp FLOAT nicht nur für FLOAT, sondern auch für Synonyme von FLOAT (zum Beispiel DOUBLE, DOUBLE PRECISION und REAL) angezeigt.

DECFLOAT

Bei der Gleitkommadarstellung (DECFLOAT) werden die Zahlen genau und mit bis zu 38 signifikanten Stellen präzise gespeichert. Für sehr große oder kleine Werte wird auf Exponenten zur Basis 10 zurückgegriffen. Der Exponentenbereich reicht von -16383 bis 16384 und erlaubt Werte ungefähr zwischen -10^(16384) und 10^(16384). Der DECFLOAT-Datentyp unterstützt eine variable Skalierung, sodass die Zahl der Nachkommastellen abhängig vom gespeicherten Wert variiert. Im Gegensatz zum FLOAT-Datentyp, der Werte als Näherungen darstellt, stellt der DECFLOAT-Datentyp exakte Werte mit der angegebenen Genauigkeit dar.

Der DECFLOAT-Datentyp unterstützt nicht die folgenden Spezialwerte, die vom FLOAT-Datentyp unterstützt werden: 'NaN' (keine Zahl) 'inf' (Unendlichkeit) und '-inf' (negative Unendlichkeit)

Anwendungsfälle für den DECFLOAT-Datentyp

Verwenden Sie den DECFLOAT-Datentyp, wenn Sie exakte Dezimalergebnisse und eine große, variable Skalierung in derselben Spalte benötigen.

Der DECFLOAT-Datentyp ist für die folgenden allgemeinen Anwendungsfälle geeignet:

  • Aufnahme von Daten, wenn die Zahl der Nachkommastellen bei den erfassten numerischen Werte unbekannt ist oder sehr stark variiert.

  • Wenn exakte numerische Werte erforderlich sind, wie z. B. für die Kontoführung, Steuern oder Compliance.

  • Bei der Migration von Systemen, die auf die IEEE 754-Dezimaldarstellung oder 128-Bit-Dezimalzahlen angewiesen sind. Diese Migrationen können durch die Genauigkeits- oder Bereichsbeschränkungen anderer Snowflake-Datentypen blockiert werden.

  • Sie möchten Number out of representable range-Fehler beim Addieren, Multiplizieren oder Dividieren von hochpräzisen numerischen Werten vermeiden.

Sie können zum Beispiel den DECFLOAT-Datentyp für die folgenden konkreten Anwendungsfälle einsetzen:

  • Bei der Aufnahme von Daten aus Oracle-DECIMAL- oder -DB2 DECFLOAT-Spalten mit unterschiedlich vielen Nachkommastellen

  • Bei Finanzmodellierungen, die Berechnungen mit nur schwer vorhersagbaren Ergebnisgrößen.

  • Bei wissenschaftlichen Messungen, die zwischen sehr kleinen und sehr großen Einheiten wechseln.

Sie können den NUMBER-Datentyp weiterhin für numerische Spalten mit fester Zahl von Nachkommastellen oder den FLOAT-Datentyp für Analysen mit hohem Durchsatz, bei denen ungenaue Ergebnisse akzeptabel sind, verwenden.

Nutzungshinweise für den DECFLOAT-Datentyp

  • Wenn eine Operation ein Ergebnis mit mehr als 38 Ziffern erzeugt, wird der DECFLOAT-Wert auf eine Genauigkeit von 38 Stellen gerundet, wobei die niederwertigsten Stellen gemäß dem aktuellen Rundungsmodus gerundet werden. Snowflake verwendet den Rundungsmodus „Half up“ für DECFLOAT-Werte

  • Wenn Sie einen DECFLOAT-Wert angeben oder einen Wert in einen DECFLOAT-Wert umwandeln, vermeiden Sie die Verwendung von numerischen Literalen in SQL. Wenn Sie numerische Literale in SQL verwenden, werden die Werte als NUMBER- oder FLOAT-Werte interpretiert, bevor sie in einen DECFLOAT-Wert umgewandelt werden, was zu Bereichsfehlern oder Genauigkeitsverlusten führen kann. Verwenden Sie stattdessen Zeichenfolgen-Literale wie SELECT '<value>'::DECFLOAT (oder das DECFLOAT-Literal) wie SELECT DECFLOAT '<value>'.

  • Wenn bei Operationen DECFLOAT-Werte und Werte mit anderem numerischem Typ vermischt werden, bevorzugt die Koersion DECFLOAT-Werte. Beispiel: Wenn Sie einen Wert des NUMBER-Typs und des DECFLOAT-Typs hinzufügen, ist das Ergebnis ein DECFLOAT-Wert.

  • Die Verwendung des DECFLOAT-Typs kann zu einem erhöhten Speicherverbrauch führen.

Treiber und Treiberversionen, die den DECFLOAT-Datentyp unterstützen

Die folgenden Snowflake-Treiber und -Treiberversionen unterstützen den DECFLOAT-Datentyp. Möglicherweise müssen Sie Ihre Treiber auf die Versionen aktualisieren, die DECFLOAT unterstützen:

Treiber

Unterstützte Mindestversion

Anmerkungen

Snowflake-Konnektor für Python

3.14.1

pandas-DataFrames unterstützen den DECFLOAT-Typ nicht.

ODBC

3.12.0

Keine.

JDBC

3.27.0

Keine.

Go-Snowflake-Treiber

1.17.0

Keine.

SQL API

2.0.0

Keine.

Nicht unterstützte Treiber behandeln DECFLOAT-Werte als TEXT-Werte Bei einigen Treibern muss ein Treiberparameter festgelegt werden, um den DECFLOAT-Typ einem sprachnativen Typ zuzuordnen. Weitere Informationen dazu finden Sie unter Treiber.

Einschränkungen für den DECFLOAT-Datentyp

Die folgenden Einschränkungen gelten für den DECFLOAT-Typ:

  • Der DECFLOAT-Wert kann nicht als semistrukturierter Datentyp oder strukturierter Datentyp gespeichert werden.

    Um einen DECFLOAT-Wert als Zeichenfolge für einen dieser Typen zu erhalten, können Sie cast (Umwandlung) des DECFLOAT-Werts in einen VARCHAR-Wert verwenden.

  • DECFLOAT-Werte werden in den folgenden Tabellentypen nicht unterstützt:

    • Tabellen in externen Formaten, z. B. Iceberg

    • Hybridtabellen

  • Der DECFLOAT-Datentyp wird in gespeicherten Prozeduren oder benutzerdefinierten Funktionen (UDFs), die in einer anderen Sprache als SQL geschrieben sind (wie Python oder Java), nicht unterstützt.

  • Der DECFLOAT-Datentyp wird in Snowpark nicht unterstützt.

  • Snowsight bietet nur eine begrenzte Unterstützung für den DECFLOAT-Datentyp.

  • Die folgenden Features unterstützen den DECFLOAT-Datentyp nicht:

  • Die Typen NUMBER und FLOAT bieten eventuell eine bessere Leistung als der DECFLOAT-Typ.

Beispiele für den DECFLOAT-Datentyp

Die folgenden Beispiele verwenden den DECFLOAT-Datentyp:

Unterschiede zwischen DECFLOAT und FLOAT

Das folgende Beispiel zeigt die Unterschiede zwischen den Datentypen DECFLOAT und FLOAT:

  1. Erstellen Sie eine Tabelle mit einer DECFLOAT-Spalte und einer FLOAT-Spalte, und fügen Sie dann die gleichen Werte für beide Typen in die Tabelle ein:

    CREATE OR REPLACE TABLE decfloat_sample (
      id INT,
      decfloat_val DECFLOAT,
      float_val FLOAT);
    
    INSERT INTO decfloat_sample VALUES
      (
        1,
        DECFLOAT '123e7000',
        FLOAT '123e7000'
      ),
      (
        2,
        12345678901234567890123456789::DECFLOAT,
        12345678901234567890123456789::FLOAT
      ),
      (
        3,
        '-4.2e-5432'::DECFLOAT,
        '-4.2e-5432'::FLOAT
      ),
      (
        4,
        '1.00000000000000000000000000000000000014'::DECFLOAT,
        '1.00000000000000000000000000000000000014'::FLOAT
      ),
      (
        5,
        '1.00000000000000000000000000000000000015'::DECFLOAT,
        '1.00000000000000000000000000000000000015'::FLOAT
      );
    
    Copy

    Die Anweisung fügt DECFLOAT-Werte wie folgt ein:

    • Der erste Wert wird mit dem DECFLOAT-Literal eingefügt.

    • Der zweite Wert wird durch Umwandeln eines INTEGER-Werts in einen DECFLOAT-Wert eingefügt.

    • Der dritte, vierte und fünfte Wert werden durch Umwandeln eines VARCHAR-Wert in einen DECFLOAT-Wert eingefügt.

  2. Um die Typen anzuzeigen, beschreiben Sie die Tabelle mit dem DESC TABLE-Befehl.

    Die Genauigkeit wurde in der Tabellendefinition für keine der beiden Spalten angegeben, aber die Ausgabe zeigt, dass der DECFLOAT-Datentyp eine Genauigkeit mit bis zu 38 signifikanten Stellen unterstützt:

    DESC TABLE decfloat_sample;
    
    Copy
    +--------------+--------------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------+
    | name         | type         | kind   | null? | default | primary key | unique key | check | expression | comment | policy name | privacy domain |
    |--------------+--------------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------|
    | ID           | NUMBER(38,0) | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
    | DECFLOAT_VAL | DECFLOAT(38) | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
    | FLOAT_VAL    | FLOAT        | COLUMN | Y     | NULL    | N           | N          | NULL  | NULL       | NULL    | NULL        | NULL           |
    +--------------+--------------+--------+-------+---------+-------------+------------+-------+------------+---------+-------------+----------------+
    
  3. Um die Unterschiede in den Werten anzuzeigen, fragen Sie die Tabelle mit der SELECT-Anweisung ab:

    SELECT * FROM decfloat_sample;
    
    Copy
    +----+-----------------------------------------+------------------------+
    | ID | DECFLOAT_VAL                            |              FLOAT_VAL |
    |----+-----------------------------------------+------------------------|
    |  1 | 1.23e7002                               | inf                    |
    |  2 | 12345678901234567890123456789           |   1.23456789012346e+28 |
    |  3 | -4.2e-5432                              |  -0                    |
    |  4 | 1.0000000000000000000000000000000000001 |   1                    |
    |  5 | 1.0000000000000000000000000000000000002 |   1                    |
    +----+-----------------------------------------+------------------------+
    

    Die Ausgabe weist die folgenden Unterschiede auf:

    • Die erste Zeile zeigt, dass der DECFLOAT-Typ einen größeren Wertebereich als der FLOAT-Typ unterstützt. Der DECFLOAT-Wert ist sehr groß (1.23e7002). Der FLOAT-Wert ist inf. Das bedeutet, dass er größer als jeder mit dem FLOAT-Typ darstellbare Wert ist.

    • Die zweite Zeile zeigt, dass der DECFLOAT-Typ den angegebenen Wert genau beibehält. Der FLOAT-Wert ist ein Näherungswert in wissenschaftlicher Notation.

    • Die dritte Zeile zeigt, dass der DECFLOAT-Typ sehr kleine Werte (-4.2e-5432) unterstützt. Der FLOAT-Wert wird zum Näherungswert -0.

    • Die vierte und fünfte Zeile zeigen, dass der DECFLOAT-Typ Genauigkeiten von bis zu 38 Stellen unterstützt; für Werte außerhalb dieser Beschränkung kommen Rundungsregeln zum Einsatz. Der FLOAT-Wert wird in beiden Zeilen zum Näherungswert 1.

Verwenden von DECFLOAT-Werten mit Aggregatfunktionen

Im folgenden Beispiel werden DECFLOAT-Werte mit Aggregatfunktionen verwendet:

  1. Erstellen Sie eine Tabelle, und fügen Sie dann DECFLOAT Werte in die Tabelle ein:

    CREATE OR REPLACE TABLE decfloat_agg_sample (decfloat_val DECFLOAT);
    
    INSERT INTO decfloat_agg_sample VALUES
      (DECFLOAT '1e1000'),
      (DECFLOAT '-2.47e999'),
      (DECFLOAT '22e-75');
    
    Copy
  2. Fragen Sie die Tabelle mit einigen Aggregatfunktionen ab:

    SELECT SUM(decfloat_val),
           AVG(decfloat_val),
           MAX(decfloat_val),
           MIN(decfloat_val)
      FROM decfloat_agg_sample;
    
    Copy
    +-------------------+-------------------+-------------------+-------------------+
    | SUM(DECFLOAT_VAL) | AVG(DECFLOAT_VAL) | MAX(DECFLOAT_VAL) | MIN(DECFLOAT_VAL) |
    |-------------------+-------------------+-------------------+-------------------|
    | 7.53e999          | 2.51e999          | 1e1000            | -2.47e999         |
    +-------------------+-------------------+-------------------+-------------------+
    

Numerische Konstanten

Der Begriff Konstanten (auch als Literale bezeichnet) bezieht sich auf feste Datenwerte. Folgende Formate werden bei numerischen Konstanten unterstützt:

[+-][digits][.digits][e[+-]digits]

Wobei:

  • + oder - für einen positiven bzw. negativen Wert steht. Der Standard ist positiv.

  • digits besteht aus einer oder mehrere Ziffern von 0 bis 9.

  • e (oder E) steht für einen Exponenten in wissenschaftlicher Notation. Auf das Exponentenzeichen, so vorhanden, muss mindestens eine Ziffer folgen.

Die folgenden Zahlen sind Beispiele für unterstützte numerische Konstanten:

15
+1.34
0.2
15e-03
1.234E2
1.234E+2
-1