Dirk Beltz: mit einer Zahl aus einem Texteingabefeld rechnen

Hallo,

ich suche nach einer eleganten Lösung,
um in Javascript mit einer Zahl zu rechnen,
die aus einem Texteingabefeld stammt.

[ eine Umkehrung der Funktion toString()
scheint es wohl nicht zu geben ?
und
das Texteingabefeld gibt mir immer einen String zurück,
oder kann man das vorgeben? ]

Besten Dank

  1. Hi,

    ich suche nach einer eleganten Lösung,
    um in Javascript mit einer Zahl zu rechnen,
    die aus einem Texteingabefeld stammt.

    [ eine Umkehrung der Funktion toString()
    scheint es wohl nicht zu geben ?

    doch :-)
    http://selfhtml.teamone.de/javascript/objekte/unabhaengig.htm#parse_int

    das Texteingabefeld gibt mir immer einen String zurück,
    oder kann man das vorgeben?

    nein textfeld bleibt textfeld (oder so)

    bye eddie

    1. da wär ich nie drauf gekommen,
      hatte schon eine schwerere Variante
      getestet:

      <html><head>
      <script language="JavaScript">
      <!--
      function a () {
      var a = 0;
      var s = " ";
      s=document.f.tf.value;
      alert( "String =  "+s );
      a=toValue( s );
      alert( "Zahlenwert =  "+a.toString() );
      return false;
      }
      function toValue( x ) {
      var zahl =0;
      var lstr =0;
      var i =0;
      var k =0;
      var z =0;
      var s ="";
      sarr = new Array( 0,0,0,0,0,0,0,1 )
      lstr=x.length;
      for( i=lstr;i>(0);i-- ){        /* Beginn Stringteilen */
       s = x.substring( i-1,i );
       switch (s) {
        case "0":sarr[k]=0;break;
        case "1":sarr[k]=1;break;
        case "2":sarr[k]=2;break;
        case "3":sarr[k]=3;break;
        case "4":sarr[k]=4;break;
        case "5":sarr[k]=5;break;
        case "6":sarr[k]=6;break;
        case "7":sarr[k]=7;break;
        case "8":sarr[k]=8;break;
        case "9":sarr[k]=9;break;
       default:sarr[8]=0;break;       /* Müll wird Null, geht in K8 */
       }
       k++;
      } /* --------------------------- Ende for Stringteilen  */
       z=sarr[0];
       k=10;
       for (i=1; i<7 ; i++ ) {         /* Zahl bilden */
        z=z+sarr[i]*k;
        k=k*10;
       } /* -------------------------- Ende for Zahl bilden  */
      return z;
      }
      //-->
      </script></head><body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
      <form name="f">
      <input type="Text" name="tf" value="0" size="7" maxlength="7" onChange="a()">
      </form></body></html>

      ... und ahnte schon, das es das nicht sein kann
      schönes WE wünscht
      Dirk