Flashhilfe.de - Flash Community

Dezimalzahlen im Dynamischen Textfeld [Flash CS4]

 


AntwortenRegistrieren Seite1  

Sternschnupfen#1
Benutzerbild von Sternschnupfen
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
Schlagwörter: dynamisch Textfeld
f0rml3ss#2
Benutzerbild von f0rml3ss
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
Sternschnupfen#3
Benutzerbild von Sternschnupfen
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.
Kerstin77#4
Benutzerbild von Kerstin77
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,
Kerstin
Wer Rechtschreibfehler findet, darf sie gerne behalten.
f0rml3ss#5
Benutzerbild von f0rml3ss
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:
1var 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

AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de