
IBM Think 2019 - IBM Konferenz in San Francisco, California
Künstliche Intelligenz ist längst nicht mehr nur in der Entwicklungsphase sondern bereits bei handfesten Lösungen im Einsatz ... Mehr
von
Bernd Hort,
assono GmbH, Standort Hamburg,
Auf den ersten Blick ist die Funktion parseInt()
in JavaScript sehr einfach. Ein übergebener String wird in eine Integerzahl
umgewandelt. Wenn der übergegeben String aber führende Nullen beinhaltet,
kann es zu interessanten Phänomenen kommen.
Aufgefallen war es gestern bei einer
Anwendung als es darum ging, in JavaScript aus dem als Zahl gespeicherten
Monat die ausgeschriebene Form zu bestimmen. Das Problem war, dass für
die Sortierung die Monate bis Septemer als String mit führender Null gespeichert
waren.
parseInt("07")
lieferte richtig 7
zurück. parseInt("08")
lieferte NaN
zurück, was soviel heißt, wie die Zahl konnte nicht umgewandelt werden.
Mit Googles Hilfe und der JavaScript-Referenz
in SelfHTML
haben wir des Rätsels Lösung gefunden.
parseInt()
kann nicht nur Zahlen des Dezimalsystems umwandeln, sondern auch Zahlen
einer anderen Zahlenbasis. Das kann z.B. sehr praktisch sein, wenn Hexadezimalzahlen
in Dezimalzahlen umgewandelt werden sollen. Die meisten Entwickler, mich
eingeschlossen, wissen nicht, dass es für parseInt()
einen zweiten, optionalen Parameter radix gibt. Mit seiner Hilfe
kann die Zahlenbasis bestimmt werden. Fehlt dieser Parameter versucht parseInt()
anhand des übergegebenen Strings die Zahlenbasis zu bestimmen.
Fängt der String mit "0x"
an, wird er als Hexadezimalzahl interpretiert. Fängt er mit "0"
an, wird er als Oktalzahl interpretiert. Bei Oktalzahlen sind aber nur
Zeichen von 0 bis 7 erlaubt. Deswegen liefert parseInt("07")
richtig 7
zurück, während parseInt("08")
eine Fehlermeldung zurückliefert.
Gibt man die Zahlenbasis mit an, so
funktioniert die Funktion wie erwartet:
parseInt("08", 10)
liefert 8
zurück.
Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de
Künstliche Intelligenz ist längst nicht mehr nur in der Entwicklungsphase sondern bereits bei handfesten Lösungen im Einsatz ... Mehr
Der Ausdruck mit SWING PDF unterscheidet sich stellenweise von der Darstellung/Vorschau in IBM Notes. Zwei Unterschiede sehen Sie hier. Mehr
Viele inhaltliche ähnliche Kundenanfragen, die sich eigentlich leicht beantworten lassen? Warum sich genau jetzt ein Chatbot lohnt ... Mehr
Bevor es mit einer App losgehen kann, muss eine grundlegende Entscheidung getroffen werden: Welche technische Basis ist die richtige? ... Mehr
Refactoring lohnt sich. Wie wir die Base64-Decodierung von 9 Minuten auf 1 Sekunde gebracht haben (mit Quellcode) Mehr
Schneller Prozesse einleiten: Wie wäre es, wenn durch ein Foto und Künstliche Intelligenz direkt ein passender Workflow gestartet wird? Mehr
Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223
Schwentinental
Standort Hamburg
assono GmbH
Bornkampsweg 58
22761
Hamburg
Telefonnummern:
Zentrale:
+49 4307 900 407
Techn. Hotline:
+49 4307 900 403
Vertrieb:
+49 4307 900 402
E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de