Da musst Du Dir schon eine function schreiben, die Dir die Zahl formatiert.
Flash hat keinen eigenen Befehl, wie PHP.
Hi
Eine kleine frage, wie formatiere ich Zahlenfelder in Flash...
Meine php:
&guthaben=$guthaben
Mein Textf. in Flash:
_root.konto
Das ist nur ein Beispiel
So ist es: 4263123 (die zahlen sind Dynamisch, werden von php übergeben)
So soll es aussehen: 42.63.123
Da musst Du Dir schon eine function schreiben, die Dir die Zahl formatiert.
Flash hat keinen eigenen Befehl, wie PHP.
PHP-Code:n = "134536235635";
n = n.split("");
n.reverse();
for (var i = 3; i<n.length; i += 3) {
n[i] += ".";
}
n.reverse();
n = n.join("");
trace(n);
Schöne Grüße aus Thüringen
Stephan Page
Stell Dir vor, hier steht was und keiner liest es!! schon entdeckt?? F1 ist ne geile Taste
Ich beantworte keine E-Mails. Bitte alle Fragen ins Forum
schon gehört??? Das Internet ist voll, die lassen keinen mehr rein!!![]()
![]()
Fein Stephan, aber es sollen ja nicht immer 3er Blöcke werden.
Ich habe es nun so verstanden:
Wenn am Ende mehr als 2 Ziffern Rest bleiben, soll ein 3er Block am Ende ausgegeben werden. Sonst halt immer 2er Blöcke.
Das würde ich dann so machen:
PHP-Code:var konto:String = "4263123";
function numFormat(val:String):String{
if(val.lastIndexOf(".") < 0 && val.length >2){
val = val.substr(0, 2)+"."+val.substr(2);
return numFormat(val);
}
else if(val.substr(val.lastIndexOf(".")+1).length > 3){
val = val.substr(0, val.lastIndexOf(".")+3)+"."+val.substr(val.lastIndexOf(".")+3);
return numFormat(val);
}
return val;
}
konto = numFormat(_root.konto);
trace(konto);
@ Mark, auch fein, aber ich dachte hier gehts um Kohle.
Oder gehts um Kontonummern.??
Schöne Grüße aus Thüringen
Stephan Page
Stell Dir vor, hier steht was und keiner liest es!! schon entdeckt?? F1 ist ne geile Taste
Ich beantworte keine E-Mails. Bitte alle Fragen ins Forum
schon gehört??? Das Internet ist voll, die lassen keinen mehr rein!!![]()
![]()
@lupo1213,
wenn du eh aus PHP deine Zahl an Flash sendest, nimm doch in PHP die Funktion "number_format"; und senden einen String. Geht aber nur, wenn Du in Flash mit den "Zahlen" nicht mehr rechnen mußt.
PHP-Code:
$guthaben = 12345678;
//Für Flash formatieren
echo "&guthaben=".number_format($guthaben, 2, ',', '.')."";
//Ausgabe in Flash
konto_txt.text = guthaben." €";
Schöne Grüße aus Thüringen
Stephan Page
Stell Dir vor, hier steht was und keiner liest es!! schon entdeckt?? F1 ist ne geile Taste
Ich beantworte keine E-Mails. Bitte alle Fragen ins Forum
schon gehört??? Das Internet ist voll, die lassen keinen mehr rein!!![]()
![]()
Vielen Dank für die ganzen Antworten...Super Member hier, sieht man selten das man noch so viel Hilfe bekommt. Die Lösung von Stephan geht, nur kann das Script das nicht über 1 mio. Also die Zahlen ändern sich immer wieder, sprich Konto, Gewinn, Gewinntabelle usw.
Das ganze hat nichts mit Geld zu tun, ist ein just for fun Spiel....
Wieso geht das nicht über 1Mio??.
Obiges Script ergibt folgende Ausgabe
&guthaben=12.345.678,00
das sind über 12 Mio.
oder versteh ich hier was falsch??
Schöne Grüße aus Thüringen
Stephan Page
Stell Dir vor, hier steht was und keiner liest es!! schon entdeckt?? F1 ist ne geile Taste
Ich beantworte keine E-Mails. Bitte alle Fragen ins Forum
schon gehört??? Das Internet ist voll, die lassen keinen mehr rein!!![]()
![]()
Dann mal eine weitere Version ...
Anwengunsbeispiele:PHP-Code:var konto:String = "1234567890";
function numFormat(val:String, floating:Boolean):String{
if(val.lastIndexOf(",") >= 0){
_global.rest = val.substr(val.lastIndexOf(","));
val = val.substr(0, val.lastIndexOf(","));
}
if(val.lastIndexOf(".") < 0 && val.length >3){
val = val.substr(0, val.length - 3)+"."+val.substr(val.length - 3, 3);
return numFormat(val, floating);
}
else if(val.substr(0, val.indexOf(".")).length > 3){
val = val.substr(0, val.indexOf(".")-3)+"."+val.substr(val.indexOf(".")-3);
return numFormat(val, floating);
}
if(_global.rest) val += _global.rest;
else if(floating) val += ",00";
return val;
}
konto = numFormat(konto, true);
trace(konto);
var konto:String = "1234567890";
konto = numFormat(_root.konto, true);
Ausgabe: 1.234.567.890,00
var konto:String = "1234567890";
konto = numFormat(_root.konto, false);
Ausgabe: 1.234.567.890
var konto:String = "1234567890,79";
konto = numFormat(_root.konto, true);
Ausgabe: 1.234.567.890,79
var konto:String = "1234567890,79";
konto = numFormat(_root.konto, false);
Ausgabe: 1.234.567.890,79
Geändert von webcreate (30.06.2007 um 16:48 Uhr)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)