Hartmut: Taschenrechner

Beitrag lesen

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>