Summen ignorieren Nachkommawerte
Verfasst: 27.03.2012, 18:11
Ein Hallo an alle hilfewilligen.
Ich bin absolut neu in der Materie und habe mit Eurer Hilfe schon eine ganze Menge in meinem Formular erreicht.
Ein Problem bekomme ich aber nicht in den Griff:
In dem Formular werden verschiedene Dinge angeboten.
Es gibt ca. 50 Zeilen in denen jeweils drei Textfelder existieren.
Feld1 enthält den Preis. Das Feld ist ausgeblendet.
Feld2 enthält die Anzahl. Dieses Feld soll ausgefüllt werden.
Feld3 bildet das Produkt aus Feld1 und Feld2.
Die Felder haben natürlich alle andere Bezeichnungen.
Ein weiteres Feld bildet über "Berechnung>Wert ist" eine Summe aus den Teilsummenfeldern (Feld3).
Hier wird bereits ein in der Zeile korrekt angezeigter Nachkommawert einfach ignoriert und die Teilsumme entsprechend abgerundet aufsummiert.
In einem weiteren Feld wird über ein Optionsfeld gesteuert ermittelt, ob eine Nachnahme gewünscht ist und der entsprechende Zuschlag wird eingetragen. Hier gibt es Nachkommastellen.
Ein Feld ermittelt den Warenwert und übernimmt, je nach Wert unterschiedliche Versandkosten. Hier gibt es ebenfalls Nachkommastellen.
Ein letztes Summenfeld soll nun die Zwischensumme, die Versandkosten und die Nachnahmegebühr aufsummieren. Dies geschieht mit einem Benutzerdefinierten Script. Allerdings werden auch hier die NAchkommastellen einfach ignoriert (Es wird nicht gerundet, denn ein 2,85 z.B. wird zu 2).
Das verwendete Script für die Versandkosten lautet wie folgt:
var Summeversand = this.getField("Versandkostensumme").value;
if (Summeversand < 50)
{
this.getField("Versandkosten€").value = "5,0";
}
else
{
if (Summeversand < 100)
{
this.getField("Versandkosten€").value = "2,95";
}
else
{
if (Summeversand >= 100)
{
this.getField("Versandkosten€").value = "0,00";
}
};
};
Das Script für die Endsumme:
var Summeversand = this.getField("Versandkostensumme").value;
var Summennachnahme = this.getField("SummeNachnahme").value;
var Versandk = this.getField("Versandkosten€").value;
this.resetForm("Summe");
this.getField("Summe").value = Summeversand + Summennachnahme + Versandk;
Was kann ich tun, damit die Nachkommastellen nicht ignoriert werden? Die Felder sind als Zahl mit zwei Dezimalstellen definiert.
Vielen Dank schon mal, für die Mühen. Ich bin mit meinem Latein am Ende.
Ich bin absolut neu in der Materie und habe mit Eurer Hilfe schon eine ganze Menge in meinem Formular erreicht.
Ein Problem bekomme ich aber nicht in den Griff:
In dem Formular werden verschiedene Dinge angeboten.
Es gibt ca. 50 Zeilen in denen jeweils drei Textfelder existieren.
Feld1 enthält den Preis. Das Feld ist ausgeblendet.
Feld2 enthält die Anzahl. Dieses Feld soll ausgefüllt werden.
Feld3 bildet das Produkt aus Feld1 und Feld2.
Die Felder haben natürlich alle andere Bezeichnungen.
Ein weiteres Feld bildet über "Berechnung>Wert ist" eine Summe aus den Teilsummenfeldern (Feld3).
Hier wird bereits ein in der Zeile korrekt angezeigter Nachkommawert einfach ignoriert und die Teilsumme entsprechend abgerundet aufsummiert.
In einem weiteren Feld wird über ein Optionsfeld gesteuert ermittelt, ob eine Nachnahme gewünscht ist und der entsprechende Zuschlag wird eingetragen. Hier gibt es Nachkommastellen.
Ein Feld ermittelt den Warenwert und übernimmt, je nach Wert unterschiedliche Versandkosten. Hier gibt es ebenfalls Nachkommastellen.
Ein letztes Summenfeld soll nun die Zwischensumme, die Versandkosten und die Nachnahmegebühr aufsummieren. Dies geschieht mit einem Benutzerdefinierten Script. Allerdings werden auch hier die NAchkommastellen einfach ignoriert (Es wird nicht gerundet, denn ein 2,85 z.B. wird zu 2).
Das verwendete Script für die Versandkosten lautet wie folgt:
var Summeversand = this.getField("Versandkostensumme").value;
if (Summeversand < 50)
{
this.getField("Versandkosten€").value = "5,0";
}
else
{
if (Summeversand < 100)
{
this.getField("Versandkosten€").value = "2,95";
}
else
{
if (Summeversand >= 100)
{
this.getField("Versandkosten€").value = "0,00";
}
};
};
Das Script für die Endsumme:
var Summeversand = this.getField("Versandkostensumme").value;
var Summennachnahme = this.getField("SummeNachnahme").value;
var Versandk = this.getField("Versandkosten€").value;
this.resetForm("Summe");
this.getField("Summe").value = Summeversand + Summennachnahme + Versandk;
Was kann ich tun, damit die Nachkommastellen nicht ignoriert werden? Die Felder sind als Zahl mit zwei Dezimalstellen definiert.
Vielen Dank schon mal, für die Mühen. Ich bin mit meinem Latein am Ende.