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%
Geldbetrag in Worte umwandeln
Einklappen
X
-
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:
-
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.
Für grössere Zahlen musst du dementsprechend die Arrays erweitern und weitere Bedingungen einbauen.PHP-Code:<?php
error_reporting(E_ALL);
function numberToWord($zahl){
$hundert = array(1=>'einhundert',
2=>'zweithundert',
3=>'dreihundert',
4=>'vierhundert',
5=>'fünfhundert',
6=>'sechshundert',
7=>'siebenhundert',
8=>'achthundert',
9=>'neunhundert');
$zehn = array(1=>'zehn',
2=>'zwanzig',
3=>'dreissig',
4=>'vierzig',
5=>'fünfzig',
6=>'sechzig',
7=>'siebzig',
8=>'achtzig',
9=>'neunzig',
11=>'elf',
12=>'zwölf');
$einer = array(1=>'eins',
2=>'zwei',
3=>'drei',
4=>'vier',
5=>'fü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);
?>
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:
-
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 greetzZuletzt geändert von MehrMeerHer; 18.03.2006, 13:10.Stichworte: -
Einen Kommentar schreiben: