Birgit Egger: parseInt

Hi,

ich hab jetzt gerade folgendes ausprobiert:

  
alert("ParseTest: " + parseInt('07') + ", " + parseInt('08'));  

die erste Ausgabe ist 7, die zweite ausgabe 0.
Versteht das wer und wie kann ich das lösen?

lg
Birgit

  1. Hallo,

    <http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#parse_int@title=siehe SELFHTML>, Abschnitt »Beachten Sie«.

    Siehe auch
    https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/parseInt
    http://whereswalden.com/2011/02/26/the-proper-way-to-call-parseint-tldr-parseintstr-radix/

    Mathias

  2. Hallo,

    alert("ParseTest: " + parseInt('07') + ", " + parseInt('08'));
    die erste Ausgabe ist 7, die zweite ausgabe 0.

    richtig, denn die 8 ist keine gültige Ziffer im Oktalsystem. Und dass du das Oktalsystem meinst, hast du mit der führenden Null zum Ausdruck gebracht.

    Ich finde diese Konvention zwar auch unüberlegt und nicht intuitiv (ein Präfix wie etwa 0o, analog zum 0x für hexadezimal wäre gescheiter gewesen), aber sie ist schon seeehr alt.

    Lösung: Gib die Zahlenbasis (10) als zweiten Parameter von parseInt an.

    Ciao,
     Martin

    --
    Man sollte immer wissen was man sagt
     - aber auf keinen Fall alles sagen, was man weiß.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  3. @@Birgit Egger:

    nuqneH

    alert("ParseTest: " + parseInt('07') + ", " + parseInt('08'));

    die erste Ausgabe ist 7, die zweite ausgabe 0.
    Versteht das wer

    Ja. Und das Verständnis würde auch über dich kommen, wenn du dir die Erklärung zu http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#parse_int@title=parseInt in SELFHTML durchliest.

    Qapla'

    --
    Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
    (Mark Twain)