Kommentare zu: Javascript: Not a Number ist ’ne Number https://sgaul.de/2013/03/05/javascript-not-a-number-ist-ne-number/ Neues aus den Softwareminen Thu, 13 Mar 2014 20:34:45 +0000 hourly 1 https://wordpress.org/?v=6.1.7 Von: Sebastian Gaul https://sgaul.de/2013/03/05/javascript-not-a-number-ist-ne-number/#comment-823 Wed, 13 Mar 2013 21:03:30 +0000 https://sgaul.de/?p=1990#comment-823 Als Antwort auf struppi.

Das Verhalten zeigen nicht alle Browser (Chrome ist Gegenbeispiel) und „kurz“ ist ein relativer Begriff. Ich meine ja auch nur, dass es angenehm ist, dass der Standard das Problem nun doch recht eindeutig klärt.

]]>
Von: struppi https://sgaul.de/2013/03/05/javascript-not-a-number-ist-ne-number/#comment-819 Wed, 13 Mar 2013 13:56:29 +0000 https://sgaul.de/?p=1990#comment-819 Naja, das Verhalten zeigen eigentlich alle Browser, da es bis vor kurzem ja auch exakt so definiert war. Insofern bin ich von der Erwähnung des IE 3 etwas überrascht gewesen. Immerhin ist das der erste Browser gewesen der CSS konnte.

]]>
Von: Sebastian Gaul https://sgaul.de/2013/03/05/javascript-not-a-number-ist-ne-number/#comment-805 Tue, 12 Mar 2013 23:11:56 +0000 https://sgaul.de/?p=1990#comment-805 Als Antwort auf struppi.

Mit IE meine ich den Internet Explorer. Und der IE 3 war irgend ein beliebiges Beispiel für einen sehr alten Browser.

]]>
Von: Sebastian Gaul https://sgaul.de/2013/03/05/javascript-not-a-number-ist-ne-number/#comment-804 Tue, 12 Mar 2013 23:08:53 +0000 https://sgaul.de/?p=1990#comment-804 Als Antwort auf struppi.

Das mit dem Nischenbrowser war Ironie.

Aber darum geht es ja: Man müsste eben nicht den zweiten Parameter verwenden, da der Standard vorsieht, dass auch parseInt(„08“) === 8 ist. Der zweite Parameter wäre demnach nur notwendig wenn man eine andere Basis als 10 verwenden möchte (was selten genug der Fall ist).

Leider halten sich einige Browser (wie offensichtlich der Firefox) nicht an den Standard; sie verhalten sich diesbezüglich falsch und interpretieren diese Zahlen als Oktalzahlen.

]]>
Von: struppi https://sgaul.de/2013/03/05/javascript-not-a-number-ist-ne-number/#comment-803 Tue, 12 Mar 2013 23:08:40 +0000 https://sgaul.de/?p=1990#comment-803 Oh, und den letzten Absatz in der MDN Spezifikation kannte ich noch gar nicht.

Das ist ECMA 5, wo das nicht mehr der Fall ist. Das ist ganz aktuell und noch nicht alles wird von allen Browsern umgesetzt. ECMA 3 hat nichts mit IE 3 zu tun, falls ich deine Bemerkung oben richtig verstanden habe.

]]>
Von: struppi https://sgaul.de/2013/03/05/javascript-not-a-number-ist-ne-number/#comment-802 Tue, 12 Mar 2013 23:00:58 +0000 https://sgaul.de/?p=1990#comment-802 Nein, das hat nichts mit Nischenbrowser und Fehlverhalten zu tun. Mit parseInt kannst du in jedes Zahlensystem umwandeln. parseInt(’10‘, 8) wandelt in eine Oktale Zahl um. Ohne Radix wird normalerweise die 10 benutzt, ausser wenn im String eine Null vorne steht, das ist dann auch eine oktale Zahl. Eine Hexadezimale Zahl wäre 0x

alert(parseInt('0x15'));

Deshlab bei parseInt() immer den zweiten Parameter benutzen.

]]>
Von: Sebastian Gaul https://sgaul.de/2013/03/05/javascript-not-a-number-ist-ne-number/#comment-739 Thu, 07 Mar 2013 20:45:53 +0000 https://sgaul.de/?p=1990#comment-739 Als Antwort auf Georf.

Sag ich ja, solche Fehler treten nur in Nischenbrowsern auf. Wer nimmt denn schon noch Rücksicht auf den Firefox 😉

Wie schlecht, vor allem da Mozilla selbst noch darauf hinweist, dass dieses Verhalten falsch ist.

]]>
Von: Georf https://sgaul.de/2013/03/05/javascript-not-a-number-ist-ne-number/#comment-738 Thu, 07 Mar 2013 20:41:09 +0000 https://sgaul.de/?p=1990#comment-738 Ja. Ich habe gerade das hier bei Firefox in die Konsole eingegeben: parseInt("0213"); und das hier bekommen: 139

]]>
Von: Sebastian Gaul https://sgaul.de/2013/03/05/javascript-not-a-number-ist-ne-number/#comment-737 Thu, 07 Mar 2013 20:12:46 +0000 https://sgaul.de/?p=1990#comment-737 Als Antwort auf Georf.

Heißt das, dass du schon mal den konkreten Fall hattest, in dem der Browser wegen ner 0 davor in den Oktalmodus geschaltet hat?

]]>
Von: Georf https://sgaul.de/2013/03/05/javascript-not-a-number-ist-ne-number/#comment-735 Thu, 07 Mar 2013 19:12:14 +0000 https://sgaul.de/?p=1990#comment-735 Ich hatte auch schon mal das Problem. Gerade, wenn die Eingabe vom Benutzer kommt, interessiert ihn das doch nicht, ob da eine 0 vor kommt ….

]]>