Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-06-2006, 10:01   #1 (permalink)
Neuer User
 
Benutzerbild von alexpetri
 
Registriert seit: Sep 2001
Ort: FrankfurtMain, Sondershausen
Beiträge: 710
numberformat

hallo
ich habe einen kleinen recher gebastelt (Geldrechner)
das Problem ist wie kann ich eine Zahl so umformatieren
das aus 23.6 => "23,60 Euro" wird?

in PHP gibts ja die funktion Numberformat - gibts sowas auch für Flash?
__________________
Talk to the hand, cause the head aint listening
alexpetri ist offline   Mit Zitat antworten
Alt 21-06-2006, 11:11   #2 (permalink)
-
 
Registriert seit: Jul 2003
Beiträge: 714
Zitat:
Zitat von alexpetri
gibts sowas auch für Flash?
Musst du dir selber schreiben.

Z.B. so:

PHP-Code:
Number.prototype.toMoney = function() {
    
//
    
var nachkommastellen arguments[0] == undefined arguments[0];
    var 
nachkommatrennzeichen arguments[1] == undefined "," arguments[1];
    var 
tausendtrennzeichen arguments[2] == undefined "." arguments[2];
    var 
tausendstelle arguments[3] == undefined arguments[3];
    var 
waehrung arguments[4] == undefined "Euro" arguments[4];
    
//
    
var zahl Math.floor(this).toString();
    
//
    
var tausendstelle;
    while (
zahl.length>i) {
        
tmp zahl.substring(0zahl.length-i) + tausendtrennzeichen zahl.substring(zahl.length-izahl.length);
        
zahl tmp;
        
+= (tausendstelle 1);
    }
    
//
    
var ausgabe zahl;
    
ausgabe += nachkommatrennzeichen;
    
ausgabe += Math.round(this*Math.pow(10nachkommastellen)).toString().slice(-nachkommastellen);
    
ausgabe += " "+waehrung;
    
//
    
return ausgabe;
};
//
zahl 23.6;
// Ausgabe: 23,60 Euro
trace(zahl.toMoney());
//
zahl1 5633455756423.6;
// Ausgabe: 5.633.455.756.423,60 Euro
trace(zahl1.toMoney());
//
zahl2 3455756423.6;
// Ausgabe: 34*5575*6423;6000 $
trace(zahl2.toMoney(4";""*"4"$")); 

Geändert von messingfeld (21-06-2006 um 11:18 Uhr)
messingfeld ist offline   Mit Zitat antworten
Alt 21-06-2006, 11:43   #3 (permalink)
Neuer User
 
Benutzerbild von alexpetri
 
Registriert seit: Sep 2001
Ort: FrankfurtMain, Sondershausen
Beiträge: 710
vielen dank... funzt super
__________________
Talk to the hand, cause the head aint listening
alexpetri ist offline   Mit Zitat antworten
Alt 21-06-2006, 12:28   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Sowas hab ich doch auch mal gebaut... sogar n bissl kürzer...
PHP-Code:
Number.prototype.moneyFormat = function (pCurrency) {
    var 
firstPart String (this).split (".")[0];
    var 
secondPart String (this).split (".")[1];
    while (
secondPart.length 2) {
        
secondPart += "0";
    }
    if (
secondPart == undefined) {
        
secondPart "00";
    }
    var 
tmpArr firstPart.split ("");
    for (var 
i in tmpArr) {
        if ((
tmpArr.length i) % == && 0) {
            
tmpArr.splice (i0".");
        }
    }
    return 
tmpArr.join ("") + "," secondPart " " pCurrency;
}
// Aufruf:
var 1613.2;
trace (n.moneyFormat ("EUR"));
// --> liefert: 1.613,20 EUR 
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 04-04-2007, 17:27   #5 (permalink)
* do iT OOP *
 
Benutzerbild von kingschnulli
 
Registriert seit: Jul 2006
Beiträge: 330
Auch wenn ich was uraltes rauskrame, das von messingfeld würde für 1 eine 0,00 oder sowas ausspucken weil Flash bei Math.floor auf 0 runden würde. So geht es:

PHP-Code:

Number
.prototype.toMoney = function() {
    
//
    
var nachkommastellen arguments[0] == undefined arguments[0];
    var 
nachkommatrennzeichen arguments[1] == undefined "," arguments[1];
    var 
tausendtrennzeichen arguments[2] == undefined "." arguments[2];
    var 
tausendstelle arguments[3] == undefined arguments[3];
    var 
waehrung arguments[4] == undefined "Euro" arguments[4];
    
//
    
var zahl Math.floor(this+0.01).toString();
    
//
    
var tausendstelle;
    while (
zahl.length>i) {
        
tmp zahl.substring(0zahl.length-i) + tausendtrennzeichen zahl.substring(zahl.length-izahl.length);
        
zahl tmp;
        
+= (tausendstelle 1);
    }
    
//
    
var ausgabe zahl;
    
ausgabe += nachkommatrennzeichen;
    
ausgabe += Math.round(this*Math.pow(10nachkommastellen)).toString().slice(-nachkommastellen);
    
ausgabe += " "+waehrung;
    
//
    
return ausgabe;
};
//
zahl 23.6;
// Ausgabe: 23,60 Euro
trace(zahl.toMoney());
//
zahl1 5633455756423.6;
// Ausgabe: 5.633.455.756.423,60 Euro
trace(zahl1.toMoney());
//
zahl2 3455756423.6;
// Ausgabe: 34*5575*6423;6000 $
trace(zahl2.toMoney(4";""*"4"$")); 
__________________
Das Geheimnis der Kreativität ist es zu wissen wie du deine Quellen verbirgst

The secret to creativity is knowing how to hide your sources.

Albert Einstein - Genius
kingschnulli 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 02:05 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele