Geldbetrag in Worte umwandeln

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MehrMeerHer
    antwortet
    vielen dank euch beiden,

    ich werde am besten mal alles in ruhe testen. ich hatte auch was gefunden, es funzte aber alles nicht so 100%

    Einen Kommentar schreiben:


  • penizillin
    antwortet
    http://simplecontent.net/snippets/vi..._number_1.html
    http://tests.daoc-ds.de/tests/zahlenwort.php?ssc=1

    beides ungetestet, bloß ergooglet.

    Einen Kommentar schreiben:


  • jahlives
    antwortet
    Salut,

    din Post hat mich herausgefordert und ich habe mal schnell was getippt. Die Fkt geht für Zahlen bis 999 und ohne Kommabestandteil. Die Funktionalität für grössere Zahlen und Kommazahlen darfst du dir gerne selber schreiben.
    Die Zeilen habe ich mal kurz getestet und es scheint zu funzen.
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);

    function 
    numberToWord($zahl){
        
    $hundert = array(1=>'einhundert',
                        
    2=>'zweithundert',
                        
    3=>'dreihundert',
                        
    4=>'vierhundert',
                        
    5=>'f&uuml;nfhundert',
                        
    6=>'sechshundert',
                        
    7=>'siebenhundert',
                        
    8=>'achthundert',
                        
    9=>'neunhundert');
        
    $zehn = array(1=>'zehn',
                        
    2=>'zwanzig',
                        
    3=>'dreissig',
                        
    4=>'vierzig',
                        
    5=>'f&uuml;nfzig',
                        
    6=>'sechzig',
                        
    7=>'siebzig',
                        
    8=>'achtzig',
                        
    9=>'neunzig',
                        
    11=>'elf',
                        
    12=>'zw&ouml;lf');
        
    $einer = array(1=>'eins',
                        
    2=>'zwei',
                        
    3=>'drei',
                        
    4=>'vier',
                        
    5=>'f&uuml;nf',
                        
    6=>'sechs',
                        
    7=>'sieben',
                        
    8=>'acht',
                        
    9=>'neun');
        
    $zahl strval($zahl);
        
    $pos strpos($zahl,'.');
        
    $temp '';
        if(
    $pos === false && strlen($zahl) === 3){
            
    $i 0;
            
    $ii strlen($zahl);
            while(
    $i<$ii){
                if(
    $i == 0){
                    
    $temp .= $hundert[intval($zahl[$i])];
                }elseif(
    $zahl[$i] == '1' && $zahl[$i+1] == '1'){
                    return 
    $temp .= $zehn[11];
                }elseif(
    $zahl[$i] == '1' && $zahl[$i+1] == '2'){
                    return 
    $temp .= $zehn[12];
                }else{
                    return 
    $temp .= $einer[intval($zahl[$i+1])].'und'.$zehn[intval($zahl[$i])];
                }
                
    $i += 1;
            }
        }elseif(
    $pos === false && strlen($zahl) === 2){
            if(
    $zahl[0] == '1' && $zahl[1] == '1'){
                return 
    $temp .= $zehn[11];
            }elseif(
    $zahl[0] == '1' && $zahl[1] == '2'){
                return 
    $temp .= $zehn[12];
            }else{
                return 
    $temp .= $einer[intval($zahl[1])].'und'.$zehn[intval($zahl[0])];
            }
        }elseif(
    $pos === false && strlen($zahl) === 1){
            return 
    $temp .= $einer[intval($zahl[0])];
        }
    }
                    
    echo 
    numberToWord(22);
    ?>
    Für grössere Zahlen musst du dementsprechend die Arrays erweitern und weitere Bedingungen einbauen.
    Viel Spass beim Basteln

    Gruss

    tobi

    p.s. funzt bei mir mit PHP5 Apache 2 und Windoof. V.a. für die Entwicklung und Erweiterung der Funktion würde ich dir empfehlen das error_reporting so zu lassen wie es oben steht.

    Einen Kommentar schreiben:


  • MehrMeerHer
    hat ein Thema erstellt Geldbetrag in Worte umwandeln.

    Geldbetrag in Worte umwandeln

    Tach zusammen,

    ich suche ne Klasse, um einen Geldbetrag in Worte umzuwandeln. Hat jemand was auf Lager?

    also z.b.

    121 -> einhunderteinundzwanzig

    Das wird doch bestimmt schon jemand benötigt haben...

    thx'n greetz
    Zuletzt geändert von MehrMeerHer; 18.03.2006, 13:10.
Lädt...
X