Zum Inhalt springen
BeispielWerk
English

Zahlen-Sonderfälle: Nullen, Exponent, Komma

Zahlen, die als Text eingegeben werden, lassen sich oft auf mehrere Arten lesen: mit führenden Nullen, in Exponentialschreibweise, mit Dezimalkomma oder Dezimalpunkt. Die Beispiele zeigen unter anderem 007, 1e3, 0777, 1,5, 1,234.56 und +49 sowie Werte an den Grenzen von 32- und 64-Bit-Ganzzahlen. Sie dienen dazu, Parser, Validierung und Typumwandlung der eigenen Anwendung zu prüfen.

23 Varianten auf einer Seite, jede mit eigenem Kopier- oder Download-Knopf.

  • Zahl als Text mit führenden Nullen: 007

    007

    Als Zahl geparst wird daraus 7; als Text (Postleitzahl, Kennung) muss sie erhalten bleiben. Testzeichenfolge für eigene Systeme.

  • Postleitzahl mit führender Null: 01067

    01067

    Excel und viele Importe machen daraus 1067. Testzeichenfolge für eigene Systeme.

  • Exponentialschreibweise 1e3

    1e3

    JavaScript parseFloat ergibt 1000, viele Validatoren akzeptieren oder lehnen sie ab. Testzeichenfolge für eigene Systeme.

  • Hexadezimal 0x1F

    0x1F

    Wird von Number() als 31 gelesen, von parseInt ohne Basis ebenfalls. Testzeichenfolge für eigene Systeme.

  • Oktal-ähnlich 0777

    0777

    In manchen Sprachen eine Oktalzahl (511), in anderen Dezimal. Testzeichenfolge für eigene Systeme.

  • Binär 0b1010

    0b1010

    Number("0b1010") ist 10. Testzeichenfolge für eigene Systeme.

  • Dezimalkomma 1,5

    1,5

    Deutsches Format; parseFloat("1,5") ergibt 1. Testzeichenfolge für eigene Systeme.

  • Tausenderpunkt und Komma 1.234,56

    1.234,56

    Deutsches Zahlenformat; parseFloat("1.234,56") ergibt 1.234. Testzeichenfolge für eigene Systeme.

  • Englisches Zahlenformat 1,234.56

    1,234.56

    Gegenstück zum deutschen Format. Testzeichenfolge für eigene Systeme.

  • Negative Null -0

    -0

    Number("-0") ist -0; JSON.stringify gibt 0 aus. Testzeichenfolge für eigene Systeme.

  • Zahl mit Plus-Vorzeichen +49

    +49

    Plus vorne, wie bei Vorwahlen; als Zahl 49. Testzeichenfolge für eigene Systeme.

  • Größter 32-Bit-Integer: 2147483647

    2147483647

    2^31 − 1; die Zahl danach läuft in vielen Typen über. Testzeichenfolge für eigene Systeme.

  • Eins über 32-Bit-Integer: 2147483648

    2147483648

    2^31; passt nicht mehr in ein signiertes INT. Testzeichenfolge für eigene Systeme.

  • Größter vorzeichenloser 32-Bit-Wert: 4294967295

    4294967295

    2^32 − 1. Testzeichenfolge für eigene Systeme.

  • Größter 64-Bit-Integer: 9223372036854775807

    9223372036854775807

    2^63 − 1; JavaScript-Number kann ihn nicht exakt darstellen. Testzeichenfolge für eigene Systeme.

  • Eins über der JavaScript-Sicherheitsgrenze: 9007199254740993

    9007199254740993

    2^53 + 1; als Number wird daraus 9007199254740992. Testzeichenfolge für eigene Systeme.

  • Infinity

    Infinity

    Als Text von Number() zu Infinity geparst, in JSON nicht erlaubt. Testzeichenfolge für eigene Systeme.

  • NaN

    NaN

    Not a Number als Text. Testzeichenfolge für eigene Systeme.

  • Fließkomma-Klassiker 0.1 + 0.2

    0.1 + 0.2

    Ergibt in IEEE 754 doppelter Genauigkeit 0.30000000000000004. Testzeichenfolge für eigene Systeme.

  • Zahl mit Unterstrichen 1_000

    1_000

    In Python, Java, JavaScript-Literalen erlaubt, in Parsern meist nicht. Testzeichenfolge für eigene Systeme.

  • Vollbreite Ziffern 123

    123

    Dezimalziffern U+FF11 bis U+FF13; manche Parser akzeptieren sie, andere nicht. UTF-16: 3, Codepoints: 3, UTF-8: 9 Bytes. Testzeichenfolge für eigene Systeme.

  • Bruch als Text 1/2

    1/2

    Wird als Datum, Bruch oder Text gelesen, je nach Feld. Testzeichenfolge für eigene Systeme.

  • Zahl mit Leerzeichen 1 000

    1 000

    Tausendertrennung mit Leerzeichen; Parser lesen nur 1. Testzeichenfolge für eigene Systeme.

Weitere Themen in Sonderzeichen & Grenzfälle