JavaScript rechnet falsch?

Ich habe mir ein simples Javascript zusammengebastelt (siehe unten)
Kopiert einfach mal den Quelltext in eine html datei und probiert es aus.

Wenn man jedoch Produkt2 und 3 auswählt und auf Preis errechnen klickt, so erhält man eine lange Kommazahl, aber wiso? 1.24 x 3 ist doch 3.72.
Rechnet JavaScript falsch?

Hier der Quelltext:

Test

#table_1 {

padding: 0px;

}

var auswahl = 1;
var menge = 1;
function go() {
auswahl = document.forms[‚produktauswahl‘].auswahl.value;
menge = document.forms[‚mengenauswahl‘].menge.value;

}

function ergebnis() {
document.getElementById(‚ergebnis‘).innerHTML = „€“ + (auswahl*menge);
}

Wählen Sie Ihr Produkt:

Und wieviele Sie davon möchten:

Lassen Sie sich den Preis ausrechnen:

Das macht dann:

Produkt1Produkt2Produkt3

123

 

Dein Problem wurde schon oft besprochen, es ist kein Fehler, du benötigst einfach math.round() damit du dein Ergebnis bekommst.

hier ein Link, liess dir das mal durch und du weißt warum:
http://forum.de.selfhtml.org/archiv/2005/10/t117689/…

Hallo Rockboy,

Rechnet JavaScript falsch?

Nein: Computer im Allgemeinen rechnen nur anders, nämlich nicht in Dezimalzahlen, sondern in Binärzahlen. Bei der Konvertierung vom einen ins andere System und zurück gibt es Rundungsfehler.

http://www.dcljs.de/faq/antwort.php?Antwort=rechnen_…

Gruß Gernot

Vielen Dank für die schnellen Antworten!

Jetzt klappt’s.
Einfach statt:

document.getElementById(‚ergebnis‘).innerHTML = „€“ + (ergebnis1);

folgendes einsetzen:

document.getElementById(‚ergebnis‘).innerHTML = „€“ + (Math.round(ergebnis1 * 10000) / 10000);

Nochmals vielen Dank!