Sven Rautenberg: Fehler beim Einsatz von Net::Ftp::File - Perl Package Manager

Beitrag lesen

Moin!

javascript:alert(parseInt('010') * 1);

Aha, wie kommt hier die 8 zustande?

Zahlen mit führender Null werden von Javascript als Oktalzahl interpretiert, nicht als Dezimalzahl.

Wenn du sichergehen willst, dass der String zu einer Dezimalinterpretation führt, mußt du parseInt mit dem zweiten Parameter benutzen und dort 10 angeben.

parseInt('010',10) ergibt immer 10.

Das ist ungefähr so wichtig, wie das Escaping von Benutzereingaben! Vorausgesetzt, man will sich merkwürdige Fehlinterpretationen sparen. Die Konsequenzen sind aber zum Glück nicht ganz so katastrophal, wie bei fehlendem Escaping.

- Sven Rautenberg

--
"Love your nation - respect the others."