Einfach(st)e Berechnung mittels JavaScript?Hmm
shevegen
- javascript
Hi Leute,
Javascript, folgendes wollte ich haben, ein einfach(st)es Tool zum schnellen umrechnen von Beträgen, wobei es 2 ERGEBNIS Felder gibt, die dann den eingetippten Betrag (z. bsp 100) in EURO und in SCHILLING umrechnen.
Das ist ja nit so schwer an sich:
result1 = (Math.round(EuroBetrag*13,76030))
result2 = (Math.round((EuroBetrag/13,76030)))
result1 funzt tadellos, allerdings hab ich bei result2
ein wenig rumprobiert, zuerst mit *0,7602 (oder eben den genauen Wert dafür), jetz mit /13,76 aber in beiden Fällen stimmen die Ergebnisse nit. Ich hab unter der SELFHTML Javascript Math und round Referenz nachgeschaut, weiss aber nit wie ich das verbessern kann.
Weiss jemand Rat?
Es geht eigentlich nur um den Teil :
result2 = (Math.round((EuroBetrag/13,76030)))
Hier die ganze (kleine) Funktion:
function calc(){
EuroBetrag = document.EURO.Betrag.value;
result1 = (Math.round(EuroBetrag*13,76030))
result2 = (Math.round((EuroBetrag/13,76030)))
document.EURO.result1.value = result1;
document.EURO.result2.value = result2;
Gruss aus Wien
Hallo shevegen,
Man möge mich korrigieren, falls das, was ich nun schreibe, nicht stimmt.
Aber, soviel ich weiss, hat JS Ungenauigkeiten beim Rechnen mit Kommastellen. Bei meinem Währungsrechner ist das so gelöst, daß der Betrag vor der Berechnung durch Multiplikation/Division in eine Ganzzahl/Kommazahl umgewandelt wird.
var z=Math.round(x*100)/100
Mit z wird dann der Betrag ausgegeben, x ist der Wert aus der Berechnung des Betrages mal/durch den Umrechnungsfaktor.
Gruß
Kurt
Danke sehr an euch zwei, ich hatte im Netz dazu schon ähnliche Beispiele gefunden (mit *100, dann /100), dachte aber, das diese Beispiele wahrscheinlich nit genau das sind, was ich brauche.
Ich werd mit parse und *100/100 bissi rumtesten bis es funzt
Danke nomals :>
Hallo shevegen,
[..]
var z=Math.round(x*100)/100
Mit z wird dann der Betrag ausgegeben, x ist der Wert aus der Berechnung des Betrages mal/durch den Umrechnungsfaktor.Gruß
Kurt
hi,
function calc(){
EuroBetrag = document.EURO.Betrag.value;
hier nach fehlt erstmal die anwendung von parseInt oder parseFloat, da du aus dem formularfeld zunächst mal einen string ausgelesen hast.
result1 = (Math.round(EuroBetrag*13,76030))
result2 = (Math.round((EuroBetrag/13,76030)))
vielleicht schaust du dir <javascript/sprache/notationen.htm#numerisch> nochmal an - für die abtrennung der vor- von den nachkommastellen wird eigentlich überall in der programmierung die amerikanische schreibweise benutzt, also 13.76030
gruss,
wahsaga
hi,
vielleicht schaust du dir <javascript/sprache/notationen.htm#numerisch> nochmal an
ähm, http://selfhtml.teamone.de/javascript/sprache/notationen.htm#numerisch meinte ich natürlich.
gruss,
wahsaga