Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-11-2005, 11:12   #1 (permalink)
________________
 
Benutzerbild von Katze
 
Registriert seit: May 2002
Ort: Braunschweig
Beiträge: 441
Geldbetrag mit 1000er-Trennzeichen "." und "," vor Centbetrag

Hi Folks,

kein Plan, ob das mal wer gebrauchen kann. Hatte hier im Forum nichts gefunden, weil der Suchbegriff glaube ich einfach zu kompliziert ist, deshalb habe ich mir das schnell mal selbst gebaut.

Schreibt einen Geldbetrag (EUR 1893.90) in typische Anzeige um (EUR 1.893,90)...

Vielleicht interessant für den einen oder andern.

PHP-Code:
var zahl_num:Number 1789.2;
trace(typeof (zahl_num)+": "+zahl_num);
zahl_str zahl_num.toString();
trace(typeof (zahl_str)+": "+zahl_str);
//trace(zahl_str.lastIndexOf("."));
//trace((zahl_str.length)+"-"+(zahl_str.lastIndexOf("."))+"="+(zahl_str.length-zahl_str.lastIndexOf(".")));
if (zahl_str.lastIndexOf(".") != -1) {
    if (
zahl_str.length-zahl_str.lastIndexOf(".")<3) {
        
zahl_str += "0";
    }
} else {
    
zahl_str += ".00";
}
trace(zahl_str.lastIndexOf("."));
mc zahl_str.split("");
trace(mc);
mc[zahl_str.lastIndexOf(".")] = ",";
trace(mc);
zahl_str "";
for (
i=0i<mc.lengthi++) {
    
zahl_str += mc[i];
}
trace(typeof (zahl_str)+": "+zahl_str);
if (
zahl_num>=1000) {
    
substr1 zahl_str.slice(0zahl_str.lastIndexOf(","));
    
substr2 zahl_str.slice(zahl_str.lastIndexOf(","), zahl_str.length);
    
str1 substr1.substr(0substr1.length-3);
    
trace(str1);
    
str2 substr1.substr(substr1.length-3substr1.length);
    
trace(str2);
    
substr1 str1+"."+str2;
    
zahl_str substr1+substr2;
}
trace(typeof (zahl_str)+": "+zahl_str);
trace(typeof (zahl_num)+": "+zahl_num)
trace("€ "+zahl_str); 
mfg Katze
__________________
Etwas nicht zu können, ist kein Grund es nicht zu tun!

STUDIO B12 Blog
Katze ist offline   Mit Zitat antworten
Alt 25-11-2005, 12:05   #2 (permalink)
fly, you fools!
 
Registriert seit: Jun 2003
Ort: Oldenburg
Beiträge: 131
PHP-Code:
// +--------------------------------------------------------------------------------+
// | PHP number_format to flash 5, MX, 2004 ++                                      |
// | written by flobee for FloWorks Company                                         |
// +--------------------------------------------------------------------------------+
// | number_format(floatnum[,int decimals[,string dec_point,string thousands_sep]]) |
// +--------------------------------------------------------------------------------+

number_format = function(floatnumdecimalsfloat_septhousands_sep) {

    
// floatnum:eg:123456.999
    // decimals: '2'eg: 123456.99
    // float_sep: ',' eg: 123456,99
    // thousands_sep:'.'eg: 123.456,99

    // check up
    
floatnum parseFloat(floatnum);
    if (
floatnum >= 0) {

        
floatnum floatnum.toString();
        
parts floatnum.split(".");

        
mystring '';
        
len parts[0].length;
        for (
i=len0i--) {
            if(
== && && len) {
                
mystring += thousands_sep parts[0].charAt(len-i);
            } else {
                
mystring += parts[0].charAt(len-i);
            }
        }
        if (
parts[1] || decimals 1) {
            if (!
parts[1]) {
                
adding="";
            } else {
                
adding parts[1];
            }
            
len adding.length;
            if (
decimals len) {
                for(
i=0;i<(decimals-len);i++) {
                    
adding += '0';
                }
            } else {
                
adding adding.substr(0decimals)
            }
            
mystring += float_sep adding;
        }

        return 
mystring;

    } else {
        
// not a number
        
return 'No number found to work with';
    }
}

// +--------------------------------------------------------------------------------+
mynumber '1789.2';
trace('€ '+number_format(mynumber2',''.'));
// +--------------------------------------------------------------------------------+ 
gruß, hendrik

Geändert von |H|K| (25-11-2005 um 12:06 Uhr)
|H|K| ist offline   Mit Zitat antworten
Alt 25-11-2005, 12:06   #3 (permalink)
________________
 
Benutzerbild von Katze
 
Registriert seit: May 2002
Ort: Braunschweig
Beiträge: 441
__________________
Etwas nicht zu können, ist kein Grund es nicht zu tun!

STUDIO B12 Blog
Katze ist offline   Mit Zitat antworten
Alt 25-11-2005, 12:30   #4 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
@ |H|K| :
PHP-Code:
if (floatnum >= 0)
{}
else return 
'No number found to work with'
Was ist den das?
Ne negative Zahl ist keine Number?
__________________
ERROR: Signature is too large
rendner[i] ist offline   Mit Zitat antworten
Alt 25-11-2005, 12:44   #5 (permalink)
Neuer User
 
Benutzerbild von :: RK ::
 
Registriert seit: Jan 2002
Ort: Umgebung Stuttgart
Beiträge: 5.412
@katze:
kannst du mal versuchen, den Threadtitel noch abzändern ? Bitte setzte ein
"[STUFF]" (ohne anführungszeichen, aber mit den Klammern) ganz an den anfang
das erleichtert das finden von bsp und fertigen Codeteilen, sollte mal jemand
danach suchen

falls es nemme geht, bitte ich einen der MODs darum
__________________
Das Glück im Leben hängt von den guten Gedanken ab, die man hat.

Easing_Equations / Flash Kontaktformular / FlashPlugin W3C konform / Nützliche Beiträge zu FAQs
:: RK :: ist offline   Mit Zitat antworten
Alt 25-11-2005, 13:03   #6 (permalink)
voidboy
 
Benutzerbild von rendner[i]
 
Registriert seit: Sep 2004
Ort: München
Beiträge: 5.588
Habe das tolle Teil von "|H|K|" mal etwas umgeschrieben, geht jetzt allerdings erst ab MX2004 weil ich die Variablen Typisiert habe, negative Zahlen gehen jetzt auch.
PHP-Code:
number_format = function( floatObject decimalsNumber float_sepString thousands_sepString ): String 
{  

    var 
numNumber Number( float ); 
    if ( ! 
isNaNnum ) ) 
    { 
        var 
nNumber num
        
num Math.absnum ); 
           var 
parts: Array = Stringnum ).split'.' ); 
        var 
strString = new String();  
        var 
lNumber parts[0].length;  
         
        for ( var 
iNumber l0i-- ) 
        {  
            if ( !(
3) && str += thousands_sep
            
str += parts[0].charAt); 
        }  
         
        if ( 
parts[1] || decimals 
        {   
            
str += float_sep;
            
0;
            if ( 
parts[1] )
            {
                
parts[1].length ;
                
str += parts[1].substrdecimals );
            }
            if ( 
decimals l  
            {  
                
decimals l
                for( 
0li++ ) str += '0';
            }  
        }  
        return 
'-' str str;  
    }  
    else return 
'No number found to work with';  
}  

// Aufruf 
mynumber '-178.2';  
trace'€ 'number_formatmynumber ',' '.' ) ); 
__________________
ERROR: Signature is too large

Geändert von rendner[i] (25-11-2005 um 13:29 Uhr)
rendner[i] ist offline   Mit Zitat antworten
Alt 24-03-2006, 08:40   #7 (permalink)
reneLE
Gast
 
Beiträge: n/a
...ich konnte des gerade gebrauchen - merci!

gruß
rene
  Mit Zitat antworten
Alt 13-09-2007, 00:57   #8 (permalink)
Neuer User
 
Registriert seit: Oct 2006
Beiträge: 162
Ich eben auch. Danke :-)
MaticPel 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 14:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele