Rai3: Wie kann ich einen String in einen Number umwandeln ?

Hallo,

ich suche eine Funktion in JavaScript womit ich einen String in einen Integer oder einen Number umwandeln kann. ("001" soll in 1, "016" in 16 ... umgesetzt werden)

Im Prinzip die Umkehrfunktion zu toString().

gibt es da etwas ?

  1. hallo,

    var x = "003";
    y = parseInt(x);
    alert(y * y);

    gruß
    hartmann

    1. hallo,

      var x = "003";
      y = parseInt(x);
      alert(y * y);

      gruß
      hartmann

      parseIn() funktioniert bei mir nur bis "008" bei "009" geht es nicht mehr dann gibt mir parseInt("009") 0 aus. wenn ich das dann in der ausgabe quadriere bleibt es natürlich bei 0 :-(

      1. var x = "003";
        y = parseInt(x);
        alert(y * y);

        parseIn() funktioniert bei mir nur bis "008" bei "009" geht es nicht mehr dann gibt mir parseInt("009") 0 aus. wenn ich das dann in der ausgabe quadriere bleibt es natürlich bei 0 :-(

        hoppla,
        dann versuch es mal mit y = parseFloat(x) oder eval(x*x). normalerweise braucht javascript allerdings sowieso keine typkonvertierung, es würde also auch alert(x*x) das quadrat ausgeben.
        gruß
        hartmann

      2. Hi!

        parseIn() funktioniert bei mir nur bis "008" bei "009" geht es nicht mehr dann gibt mir parseInt("009") 0 aus. wenn ich das dann in der ausgabe quadriere bleibt es natürlich bei 0 :-(

        Habs ausprobiert. Bei mir genau gleich. Hätt ich ja nicht gedacht. Da mußt Du Dir wohl eine Funktion schreiben die vorgestellte Nullen abschneidet...

        viel Spaß
        axel

      3. Moin!

        parseIn() funktioniert bei mir nur bis "008" bei "009" geht es nicht mehr dann gibt mir parseInt("009") 0 aus. wenn ich das dann in der ausgabe quadriere bleibt es natürlich bei 0 :-(

        Funktionieren tut das schon, aber nicht so, wie Du denkst, sondern wie es dokumentiert ist. Faengt eine Zahl mit 0 an, wird diese als Oktalzahl interpretiert, und nicht als Dezimalzahl. Da "8" und "9" im Octalsystem unzulaessige Zeichen sind, wird an der Stelle das Parsen abgebrochen, und nur  das, was davorsteht, geht in das Ergebnis ein (also 0).

        Abhilfe: Entweder die fuehrenden Nullen vermeiden, oder alle Parameter von parseInt() angeben. Das hat naemlich zwei; der zweite gibt das Zahlensystem an, dass Du verwenden willst. Mit
         parseInt(x, 10)
        wird die Interpretation im Dezimalsystem erzwungen.

        So long

        P.S. Haha, haette ich Dich eigentlich auch einfach zu </selfhtml/sfausles/tsfa_tca.htm#a10> schicken koennen.

        1. Mahlzeit,

          P.S. Haha, haette ich Dich eigentlich auch einfach zu </selfhtml/sfausles/tsfa_tca.htm#a10> schicken koennen.

          <Klugscheiß>
          wie ich diesen Thread las, wollte ich Ihn auch mit einem RTFM complete genau an die selbe Stelle schicken. Jetzt fehlt uns nur noch Christine (wo ist sie denn?), die das liest und den selben Gedanken hat.
          </Klugscheiß>

          Mal wieder ist es hier erwiesen worden: Der SELF-Raum ist eine riesige Wissensfundgrube, in der man fast alles finden kann.

          Bis denndann

          Michael N.

      4. Hallo hartmann,

        einfach mit 1 multiplizieren

        <html>
        <body>
        <script type="text/javascript" language="JavaScript">
        a = '008';
        document.write(a+'<br>');
        b = 1*a;
        document.write(b+'<br>');
        </script>
        </body>
        </html>

        Viele Grüße Günter