Hallo,
habe ein kleines Bestellformular, in dem der Benutzer eine Anzahl eines Produktes eingeben kann und dann der Preis ohne und inkl. MwST angezeigt wird. Ausserdem wird der Gesamtbetrag + Versand + Steueren errechnet.
Leider gibt er mir manchmal Zahlen aus wie 3,3499999999...
Nun möchte ich diese auf Dezimalstellen runden.Hier einmal der wesentliche Teil des Scriptes:
var Itemsteuer = 116 / 100;
var Versandsteuer = 116 / 100;
function Total() {
var tot = 0;
var totalall = 0;
Versandkostenx = 4.90;
var Versandkosten = Versandkostenx;
Versandkosten = 0;
tot += (75.00 * document.order.Anzahl_Artikel7511.value);
tot += (34.50 * document.order.Anzahl_Artikel4041.value);
tot += (229.00 * document.order.Anzahl_Artikel9226.value);
tot += (8.50 * document.order.Anzahl_Artikel1161.value);
tot += (1.45 * document.order.Anzahl_Artikel1193.value);
tot += (3.25 * document.order.Anzahl_Artikel2611.value);
tot += (1125.00 * document.order.Anzahl_Artikel60887.value);
tot += (629.00 * document.order.Anzahl_Artikel60898.value);
document.order.Gesamtbestellung.value = tot;
if (tot == 0) {Versandkosten == 0}
else {Versandkosten = Versandkostenx};
document.order.Versandkosten.value = Versandkosten;
Bestellsteuerbetrag = (Itemsteuer * tot) - tot;
Versandkostensteuer = (Versandsteuer * Versandkosten) - Versandkosten;
AusgewSteuer = Bestellsteuerbetrag + Versandkostensteuer;
document.order.AusgewSteuer.value = AusgewSteuer;
document.order.Rechnungsbetrag.value = AusgewSteuer + tot + Versandkosten;
};
function UpdateBetrag(number, Einzelkosten, Inklusivbetrag) {
qtyname = "Anzahl_Artikel" + number;
costname = "Betrag" + number;
Steuername = "Inklusivbetrag" + number;
var q = document.order[qtyname].value;
document.order[costname].value = q * Einzelkosten;
document.order[Steuername].value = q * Einzelkosten * Itemsteuer;
Total();
}
Hier ein Beispiel für die Artikelfelder:
<input type="TEXT" name="Anzahl_Artikel7511" value="0" size=4 onchange="UpdateBetrag(7511, 75.00);">
<input type="TEXT" name="Betrag7511" size=6 disabled>
<input type="TEXT" name="Inklusivbetrag7511" size=6 disabled>
Und dann noch folgende Felder:
<input type="TEXT" name="Gesamtbestellung">
<input type="TEXT" name="Versandkosten">
<input type="TEXT" name="AusgewSteuer">
<input type="TEXT" name="Rechnungsbetrag">
Ich hab schon etwas mit Math.round() rumprobiert, aber es will einfach nicht klappen. Vielleicht hat jemand ne Hilfestellung?
Viele Grüsse,
Nicole
Datum: 24.10.2006-13:03
