hartmu: Taschenrechner

Hallo,
ich hab da ein Problem zum Taschenrechner. z.B. wenn ich rechne 16.38*5 erscheint
immer 81.899999...
Bei ie und nc6 kann ich das abstellen mit .tofixed(2), aber wie mache ich das in
nc4. Es sollte immer eine richtiges Ergebnis herauskommen, mit 2 Nachkomma-
stellen.

Danke im Vorraus

  1. Hier ist das was du brauchst (solltest du lieber einsetzen als fixed)

    http://selfhtml.teamone.de/javascript/objekte/math.htm#round

    1. Hier ist das was du brauchst (solltest du lieber einsetzen als fixed)

      http://selfhtml.teamone.de/javascript/objekte/math.htm#round

      Hi,
      ist schon richtig, doch dann krieg ich aus 81.89999.. keine 81,90
      sondern eine 82.

      mfg

      1. Moin Moin !

        Multipliziere mit 100, konvertiere in einen String (toString oder anhängen an einen leeren String), füge zwei Zeichen vor Ende des Strings einen Punkt oder ein Komma ein.

        Alexander

        --
        Nein, ich beantworte keine Fragen per eMail. Dafür ist das Forum da.
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
        1. Moin Moin !

          Multipliziere mit 100, konvertiere in einen String (toString oder anhängen an einen leeren String), füge zwei Zeichen vor Ende des Strings einen Punkt oder ein Komma ein.

          Alexander

          Hallo,
          ich hab da ein Problem zum Taschenrechner. z.B. wenn ich rechne 16.38*5 erscheint
          immer 81.899999...
          Bei ie und nc6 kann ich das abstellen mit .tofixed(2), aber wie mache ich das in
          nc4. Es sollte immer eine richtiges Ergebnis herauskommen, mit 2 Nachkomma-
          stellen.

          Danke im Vorraus

          -ursprüngliche Nachricht-

          Hallo Zusammen,
          ich hatte gestern eine Inspiration vom Euro3 Rechner von Roflweb.de
          und habe mir folgendes zusammengebastelt.
          Ihr könnts ja mal kontrollieren. Und dann könnten mal die falschen
          "Taschenrechner" korrigiert werden.
          Mfg Hartmut

          <html>

          <head>
          <script language="JavaScript">
          <!--
          x = "(16.38+16.38+16.38+16.38+16.38)*5";         //als Beispiel
          Abfrage=0;
          s="";
          n=0;
          y=1;
          Stellenanzahl=2;
          function chkeingabe()
          {
          var x = 0;
             x = eval(document.forms[0].netto.value);
             document.forms[0].netto.value = x;
          }
          function nullen(stellen,wert)
          {
          nullstring="";
          faktor=eval("1e"+stellen);
          for (xi=1;xi<=stellen;xi++)
          {
          nullstring=nullstring+"0"
          }
          wert=Math.round(wert*faktor)/faktor
          wert+="";
          if (wert.lastIndexOf(".")==-1)
          wert=wert+"."+nullstring;
          else
          {
          y=wert.substring(wert.lastIndexOf(".")+1,wert.length)
          z=nullstring.length-y.length
          nullstring=nullstring.substr(0,z)
          wert=wert+nullstring
          }
          return wert
          }
          function rechne()
          {
          if (Abfrage==0)
          {
          sZwert=document.forms[0].netto.value.replace(/,/g,".");
          pruefen(sZwert)
          }
          }
          function pruefen(sZw)
          {
          if(isNaN(sZw)||sZw=="")
          {
          return false
          }
          else
          {
          if (s=="")
          {
          b=sZw;
          n=b*y
          }
          }
          Abfrage=1
          Anzeige()
          }
          function Anzeige()
          {
          document.forms[0].netto.value=nullen(Stellenanzahl,n)
          }
          function chkstellen()
          {
          Stellenanzahl=document.forms[0].STELLENZAHL.options[document.forms[0].STELLENZAHL.selectedIndex].value
          if(n>0)
          {
          Anzeige();
          }
          }
          //-->
          </script>
          </head>
          <body onload="chkeingabe();rechne()">
          <form>
            <table border="1" cellpadding="0" cellspacing="0" width="100%" height="70" bgcolor="#800000">
              <tr>
                <td align="center" width="100%" height="25"><font face="Verdana" color="#FFFFFF"><input type="text" name="netto"
                size="20" ></font></td>
              </tr>
              <tr>
                <td width="100%" height="19" colspan="2" align="center"><font face="Verdana" color="#FFFFFF"></font></td>
              </tr>
            </table>
          </form>
          <script language="JavaScript">
          <!--
          document.forms[0].netto.value = x;
          //-->
          </script>
          <noscript></noscript>
          </body>
          </html>