Dezimalzahlen im Dynamischen Textfeld [Flash CS4]
| Beiträge: 5 Registriert: Sep 2011
| 02.09.2011, 20:12
Bitte erklärt mir das als wäre ich ein kleines Kind.
AS3
Ich habe schon viel gesucht im Internet, aber irgendwie funktioniert es bei mir einfach nicht.
Einfaches Problem (bin alles andere als Flash-Profi): Ich habe eine Art Shop programmiert.
Hier gibt es ein dynamisches Textfeld in dem der Gesamtbetrag der Waren angezeigt wird. Wie sich das gehört, soll hier bitte auch ein Wert mit 2 Nachkommastellen stehen, auch wenn ich einen Runden Betrag habe. Also auch 12,00 oder 12,50 . Bisher steht da dann immer 12 oder 12,5.
Danke für eure Hilfe | | | Beiträge: 447 Registriert: Mar 2008
| 02.09.2011, 22:30
Der Text im Textfeld ist eine Kette von Zahlen & Buchstaben.
Du könntest einfach überprüfen, ob sich bereits ein [ , ] in dieser Zeichenkette befindet.
Falls nicht, dann:
ActionScript:1 2 | //Komma hinzufügen
Textfeld.Text += ",";
|
Wenn bereits ein Komma vorhanden ist, brauchst du logischerweise kein Zweites! - Eine if-Abfrage sollte helfen ;)
Danach teilst du den String auf [Alles links vom Komma] [,] [Rechts davon]
.split hilft dir dabei.
Der Rückgabewert ist ja ein Array - bei dem prüfst du dann den 2. Eintrag - Index:1
ActionScript:1 2 | var inputText:Array = Textfeld.split(",");
var nachKommaStellen:int = inputText[1].length;
|
Wenn nun Nachkommastellen fehlen, einfach 0 hinzufügen.
ActionScript:1 2 3 | if(nachKommaStellen<2){
Textfeld.text+="0";
}
|
PS: Die Eigenschaft .restrict verhindert falsche Eingaben, zb Buchstaben,..Adobe AS3.0 Stichwortverzeichnis | | | Beiträge: 5 Registriert: Sep 2011
Themenautor/in
| 03.09.2011, 09:07
in meinem Köpfchen macht das schonmal Sinn, Danke.
Aber ich bekomme eine Fehlermeldung.
1061: Aufruf für eine möglicherweise nicht definierte Methode split über einen Verweis mit statischem Typ flash.text:TextField. | | | Beiträge: 1004 Registriert: Jul 2008
| 03.09.2011, 11:36
Moin,
das hier könnte auch helfen:
http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/Number.html#toFixed%28%29
Grüße,
KerstinWer Rechtschreibfehler findet, darf sie gerne behalten. | | | Beiträge: 447 Registriert: Mar 2008
| 03.09.2011, 12:02
ah der Fehler kommt, weil du den Befehl .split nicht auf die Eigenschaft text angewendet hast.. hatte ich wohl vergessen ^^
ActionScript:1 | var inputText:Array = Textfeld.text.split(",");
|
Wobei Kerstins Lösung natürlich die einfachere ist.Adobe AS3.0 Stichwortverzeichnis | Geändert von f0rml3ss am 03.09.11 um 12:03 Uhr | |
|
| Ähnliche Beiträge zum Thema | |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
Regeln & Bedingungen
|