Zurück   Flashforum > Flash > Stuff

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-11-2007, 10:42   #1 (permalink)
hilft gerne...
 
Registriert seit: Feb 2007
Ort: Carlsberg
Beiträge: 416
[STUFF] Trennzeichen in Zahlen einfügen

Hallo FF-Gemeinde, da ich mich gestern abend mit dem "Problem" der fehlenden Methode "insert()" in ActionScript beschäftigt habe, habe ich ne kleine Funktion geschrieben, die bei Strings (z.B. Punktierung nach jedem Tausender bei Zahlen) nach gewähltem Abstand ein Trennzeichen macht. Nix weltbewegendes, aber vielleicht erspart es ja dem einen oder anderen ein wenig Code-Arbeit...

PHP-Code:
//Parameter
//test_str = der Ausgangsstring, in den ein Trennzeichen eingefügt werden soll (z.B. "1000000")
//eingefuegteszeichen = das Trennzeichen, das eingefügt werden soll (z.B. "." oder ",");
//abstand = der Abstand zwischen den Trennzeichen (z.B. bei abstand = 3  =>   "1.000.000" )
 
function insert(test_str:String,eingefuegteszeichen:String,abstand:Number):String {
    
trace("Ursprünglicher String: " test_str "\n");
    
//Stringlänge ermitteln
    
strlaenge test_str.length;
    
trace("Länge des Strings: " strlaenge);
    
//Abfrage, ob überhaupt ein Trennzeichen benötigt wird
    
if (strlaenge abstand) {
        
//Anzahl, wie oft ein Teilstring ermittelt werden muss
        
anzahlschleifendurchgaenge Math.floor(strlaenge/abstand);
        
trace("Länge des Teiles, das Trennzeichen bekommt: " anzahlschleifendurchgaenge*abstand);
        
//Ist die String-Länge ein Vielfaches des Abstandes...
        
pos1 strlaenge abstand;
        
trace("Länge des Teiles, das nicht 3 Zeichen lang ist: " pos1);
        
//Wenn nein...
        
if (pos1 != 0) {
            
teilstr0_str test_str.substr(0,pos1);
            
trace("Teilstring 0: " teilstr0_str);
            
//Der Teil des Strings, der nicht "abstand" Zeichen enthält
            
teilstr0_str += eingefuegteszeichen;
            
//Der restliche Teil des Strings, der ein Vielfaches des Abstands an Zeichen hat
            
tripel_str test_str.substr(pos1,anzahlschleifendurchgaenge*abstand);
            
trace("Die Zeichenkette, die Trennzeichen bekommen soll: " tripel_str);
            
zaehler 0;
            var 
teilstr:Array = [];
            
ergebnis_str "";
            for (
i=1i<=anzahlschleifendurchgaengei++) {
                
//Teilstrings werden erzeugt und hinter jeden Teilstring das Trennzeichen angehängt
                
teilstr[i] = tripel_str.substr(zaehler,abstand);
                if (
i<anzahlschleifendurchgaenge) {
                  
teilstr[i] += eingefuegteszeichen;
                }
                
trace("Teilstring " ": " teilstr[i]);
                
zaehler += abstand;
                
ergebnis_str += teilstr[i];
            }
            
//Teilstringe wieder zusammen setzen
            
ergebnis_str teilstr0_str.concat(ergebnis_str);
            
trace("\nErgebnis-String: " ergebnis_str);
            return 
ergebnis_str;
        } else 
//String-Länge ist Vielfaches von Abstand
        
{
            
//Der restliche Teil des Strings, der ein Vielfaches des Abstands an Zeichen hat
            
tripel_str test_str.substr(0,anzahlschleifendurchgaenge*abstand);
            
trace("Die Zeichenkette, die Trennzeichen bekommen soll: " tripel_str);
            
zaehler 0;
            var 
teilstr:Array = [];
            var 
ergebnis_str:String "";
            for (
i=1i<=anzahlschleifendurchgaengei++) {
                
//Teilstrings in Länge des Abstandes werden erzeugt und das Trennzeichen hinten angefügt
                
teilstr[i] = tripel_str.substr(zaehler,abstand);
                if (
i<anzahlschleifendurchgaenge) {
                  
teilstr[i] += eingefuegteszeichen;
                }
                
trace("Teilstring " ": " teilstr[i]);
                
zaehler += abstand;
                
//Teilstrings werden erneut zusammen gefügt
                
ergebnis_str += teilstr[i];
            }
            
trace("\nErgebnis-String: " ergebnis_str);
            return 
ergebnis_str;
        }
    }
    else
    {
        
ergebnis_str test_str;
        return 
ergebnis_str;
    }

McMannus ist offline   Mit Zitat antworten
Alt 02-09-2008, 16:29   #2 (permalink)
tino
 
Benutzerbild von naturtrueb
 
Registriert seit: Mar 2005
Beiträge: 27
hat mir paar minuten arbeit erspart ! danke!
__________________
www.buntbunt.de
naturtrueb 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 18:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele