Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-01-2007, 21:27   #1 (permalink)
Neuer User
 
Benutzerbild von option
 
Registriert seit: Aug 2006
Beiträge: 357
Question rechnen mit kommazahlen

hallo liebes forum,

kann mir jemand sagen wie man in flash kommazahlen zusammenrechnet?

hab probiert mit .split(",") weiter zukommen allerdings bekamm ich da auch nur NAN heraus.

ohne komma funktioniert das:
ActionScript:
  1. mup.onPress = function() {
  2.     if (wkmenge+1) {
  3.         wkmenge++;
  4.         txtwkgesamt.text = wkmenge*wkpreis
  5.     }
  6. };


mfg, option
Angehängte Dateien
Dateityp: zip rechnen.zip (8,9 KB, 10x aufgerufen)

Geändert von option (09-01-2007 um 21:28 Uhr)
option ist offline   Mit Zitat antworten
Alt 09-01-2007, 21:51   #2 (permalink)
Spiritmonger
Gast
 
Beiträge: n/a
Gleitkommazahlen werden mit Punkt getrennt nicht Komma...
  Mit Zitat antworten
Alt 09-01-2007, 22:25   #3 (permalink)
Neuer User
 
Benutzerbild von option
 
Registriert seit: Aug 2006
Beiträge: 357
hallo,

das versteh ich nicht.
also die zahl steht qausi für einen geldbetrag (den man ja mit komma trennt...)
der soll jetzt einmal onEnterFrame ausgerechnet werden und wenn man auf die weißen buttons klickt um die menge zu erhöhen.

geht das nicht?

mfg, option
option ist offline   Mit Zitat antworten
Alt 09-01-2007, 22:33   #4 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
Zitat:
Zitat von option Beitrag anzeigen
also die zahl steht qausi für einen geldbetrag (den man ja mit komma trennt...)
In Flash und im Englischen aber nicht.
Dein visuelle Ausgabe ist vielleicht mit einem Komma,
aber Flash muß mit einem Punkt rechnen: 30.50

Habe Dir mal eine kleine Funktion gebastelt (ist aber noch nicht perfekt):
PHP-Code:
function errechnePreis(mengepreis) {
    
    var 
menge_ Number(menge);
    var 
preis_ Number(preis.split(",").join("."));
    var 
ergebnisNumber_ String(menge_ preis_);
    
ergebnisString_ ergebnisNumber_.split(".").join(",");
    return 
ergebnisString_;
    

Aufruf durch:
PHP-Code:
txtwkgesamt.text errechnePreis(wkmengewkpreis); 
gruß, gaspode

Geändert von gaspode (09-01-2007 um 22:52 Uhr)
gaspode ist offline   Mit Zitat antworten
Alt 10-01-2007, 09:12   #5 (permalink)
Neuer User
 
Benutzerbild von option
 
Registriert seit: Aug 2006
Beiträge: 357
hallo,

vielen dank das funktioniert 1a!
kann man eigentlich noch irgendwie eine "0" an das ergebniss addieren wenn der betrag "glatt" ist? (z.b. 31,5 wird zu 31,50)

mfg, option
option ist offline   Mit Zitat antworten
Alt 10-01-2007, 15:24   #6 (permalink)
Spiritmonger
Gast
 
Beiträge: n/a
PHP-Code:
function errechnePreis(mengepreis) {
    
    var 
menge_ Number(menge);
    var 
preis_ Number(preis.split(",").join("."));
    var 
ergebnisNumber_ String(menge_ preis_);
    
ergebnisString_ ergebnisNumber_.split(".").join(",");
    var 
null preis.split("0");
    if(
ergebnisString_.length == null[0].length){
        
ergebnisString_ += "0";
    }
    return 
ergebnisString_;


Habs net getestet....

Edit: Schöne Beitragszahl

Geändert von Spiritmonger (10-01-2007 um 15:29 Uhr)
  Mit Zitat antworten
Alt 13-01-2007, 11:03   #7 (permalink)
Neuer User
 
Benutzerbild von option
 
Registriert seit: Aug 2006
Beiträge: 357
schade das AS funktioniert leider nicht! ich habs auch selber nochmal probiert allerdings bekomme ich es einfach nicht hin das IMMER 2 nachkommastellen angezeigt werden.

wenn in meinem gesamtpreis die zweite zahl nach dem komma eine "0" ist wird mir diese nicht angezeigt! (angezeigt wird: 30,5 | soll aber: 30,50)
genauso wie wenn ich einen glatten betrag erhalte (angezeigt wird: 300 | soll aber: 300,00)

hatt jemand eine idee wie man das lösen kann? das muss doch irgendwie mit length & split machbar sein oder?

mfg, option

Geändert von option (13-01-2007 um 11:05 Uhr)
option ist offline   Mit Zitat antworten
Alt 13-01-2007, 13:24   #8 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
http://www.seibsprogrammladen.de/fra...rithmen/String
Number formatiert als String ausgeben
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 03-01-2009, 19:08   #9 (permalink)
Neuer User
 
Benutzerbild von swiged
 
Registriert seit: Nov 2007
Beiträge: 56
hi zusammen,
habe ebenfalls das problem, dass ich eine ausgabe mit komma brauche und nur nen punkt bekomme. habe ne variable f, die errechnet wird und auf 3 nachkommastellen ausgegeben. nun soll das der punkt dabei durch ein komma ersetzt werden. also habe ich es mit

Code:
var f_ = f.split(".").join(",");
versucht. dabei bekomme ich aber immer den Fehler:
TypeError: Error #1006:
value ist keine Funktion...

der datentyp von meiner variable f ist number.

wer weiß rat?
danke.


gruß,swiged
swiged ist offline   Mit Zitat antworten
Alt 03-01-2009, 19:18   #10 (permalink)
Flash Developer
 
Benutzerbild von luschn
 
Registriert seit: Aug 2004
Ort: Wien
Beiträge: 248
vermutlich existiert die funktion "split" nicht beim datentyp Number, daher musst du "f" erst mal in einen string umwandeln:

Code:
var f_ = f.toString().split(".").join(",");

Geändert von luschn (03-01-2009 um 19:19 Uhr)
luschn ist offline   Mit Zitat antworten
Alt 03-01-2009, 19:26   #11 (permalink)
Neuer User
 
Benutzerbild von swiged
 
Registriert seit: Nov 2007
Beiträge: 56
funzt, dankeschön
swiged 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 06:04 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele