Sebastian Becker: Problem bei Preisaddition in Schleife

Hallo,

ich möchte gerne in einem Bestellformular mit Hilfe einer Schleife drei verschiedene Produktpreise mit der jeweiligen Stückzahl multiplizieren und addieren.

Feldnamen:

item1_quantity, item2_quantity, item3_quantity
item1_price, item2_price, item3_price

Bisher mache ich das so:

// calculating of totals
function calculate()
{
var d = document;
d.order.total.value = 0;
var i;
for(i=1;i<4;i++)
{

if(isNaN(parseFloat(eval("d.order.item"+i+"_quantity.value")))) eval("d.order.item"+i+"_quantity.value") = "0";

d.order.total.value += parseFloat(eval("d.order.item"+i+"_price.value")) * parseFloat(eval("d.order.item"+i+"_quantity.value"));

}
}

Leider kommt die Funktion mit den Kommas bzw. Punkten etwas durcheinander und läßt diese manchmal weg. Am liebsten wäre es mir außerdem, wenn bei der Berechnung grundsätzlich immer zwei Nachkommastellen angezeigt würden.

Kann mir vielleicht jemand einen Tip geben?

Vielen Dank,

Sebastian Becker

  1. hi,

    zum Thema "Rechnen mit Javascript" findest Du Rundungsfunktionen etc. in der
    FAQ von de.comp.lang.javascript:

    http://screenexa.net/de.comp.lang.javascript/faq/antwort.php?Antwort=rechnen_runden#5

    Viel lesenswertes!
    hth

    Gruesse  Joachim