Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-03-2005, 10:34   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 106
Ausgabe mit zwei Nachkommastellen

Hallo

Ich möchte bei einem Bestellformular gerne den Preis mit zwei Stellen nach dem Komma ausgegeben haben. Ich habe mir dazu ein entsprechendes as aus dem Forum geladen und es eingefügt. Seitdem fummel ich daran herum, ohne das entsprechende Ergebnis hinzubekommen.
Kann mir jemand sagen, welchen Fehler ich gemacht habe?
Hier das as:

_root.nebel.restrict = "0-9";
_root.nebel.maxChars = 3;
_root.mord.restrict = "0-9";
_root.mord.maxChars = 3;
_root.weiden.restrict = "0-9";
_root.weiden.maxChars = 3;
// Funktion zur Formatierung
var preis = "";
//
function fSumme() {
var vSum = 0;
var nebelpreis = 1180;
var mordpreis = 1180;
var weidenpreis = 900;
vSum += (_root.nebel.text) ? Number(_root.nebel.text) : 0;
vSum += (_root.mord.text) ? Number(_root.mord.text) : 0;
vSum += (_root.weiden.text) ? Number(_root.weiden.text) : 0;
nebelpreis *= (_root.nebel.text) ? Number(_root.nebel.text) : 0;
mordpreis *= (_root.mord.text) ? Number(_root.mord.text) : 0;
weidenpreis *= (_root.weiden.text) ? Number(_root.weiden.text) : 0;
preis = nebelpreis+mordpreis+weidenpreis;
_root.preis.text = formatCurrency(preis);
_root.gesamt.text = (vSum) ? vSum : " ";
}
function formatCurrency(val) {
val = String(val);
// --> die übergebene Zahl in einen String wandeln
// String formatieren und zurückgeben
return val.substr(0, val.length-2)+","+val.substr(-2)+" EUR";
}
_root.nebel.onChanged = fSumme;
_root.mord.onChanged = fSumme;
_root.weiden.onChanged = fSumme;


Gruß
Libuda
libuda ist offline   Mit Zitat antworten
Alt 24-03-2005, 11:21   #2 (permalink)
Phlasher
 
Benutzerbild von gerard
 
Registriert seit: Nov 2001
Ort: Unna-Königsborn (NRW)
Beiträge: 466
Hi Libuda,
Der Fehler liegt hier:
preis = nebelpreis+mordpreis+weidenpreis;
_root.preis.text = formatCurrency(preis);

Schreib statdessen:
var Totalpreis = nebelpreis+mordpreis+weidenpreis;
_root.preis.text = formatCurrency(Totalpreis);


_root.preis und preis referieren am gleichen Object!!
__________________
Keep on Flashing
gerard ist offline   Mit Zitat antworten
Alt 24-03-2005, 11:44   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 106
Leuchtet ein, klappt aber trotzdem nicht.
Gesamtpreis zeigt gar nichts mehr an.

Gruß
Libuda
libuda ist offline   Mit Zitat antworten
Alt 24-03-2005, 12:29   #4 (permalink)
Phlasher
 
Benutzerbild von gerard
 
Registriert seit: Nov 2001
Ort: Unna-Königsborn (NRW)
Beiträge: 466
Versuch mal eine trace einzubauen und dann gucken wo es schief geht
__________________
Keep on Flashing
gerard ist offline   Mit Zitat antworten
Alt 24-03-2005, 14:38   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 106
tja, habe ich probiert. Die Variable Totalpreis ist undefined. Nehme ich das var weg und deklariere sie oben als Erstes, zeigt sie den Wert an, mit dem sie deklariert wurde, ändert sich also nichts???

Gruß
Libuda
libuda ist offline   Mit Zitat antworten
Alt 24-03-2005, 15:13   #6 (permalink)
Neuer User
 
Registriert seit: Oct 2003
Beiträge: 106
Ich hab`s!!!
Hier die Lösung:

var totalpreis = nebelpreis+mordpreis+weidenpreis;
total = String(totalpreis);
_root.preis.text = total.substr(0, total.length-2)+","+total.substr(-2)+" EUR";
_root.gesamt.text = (vSum) ? vSum : " ";

Danke Gerard, du hast mich auf die Idee gebracht.

Gruß
Libuda
libuda ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:04 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele