shevegen: Einfach(st)e Berechnung mittels JavaScript?Hmm

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

  1. 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

    --
    "Mut ist eine Tugend, doch Angst beweist Vernunft, Bewusstsein und Phantasie. Die Kunst ist es abzuwägen."
    http://faq.united-web.at
    http://elektro-dunzinger.at
    http://shop.elektro-dunzinger.at
    1. 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

  2. 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

    1. 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