Taschenrechner
hartmu
- javascript
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
Hier ist das was du brauchst (solltest du lieber einsetzen als fixed)
http://selfhtml.teamone.de/javascript/objekte/math.htm#round
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
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
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>