Autor Zpráva
mackopu
Profil
Neznáte někdo způsob, kterým se dá číslo (např. 2222) převést na textovou podobu (dvatisícedvěstědvacetdva) ?
WertriK
Profil *
Tak to pekny orisek ...
Snad nejak přes pole...

array {
1 => "jedna",
2 => "dva",
3 => "tri",
}

Schvalne si s tim pohraju ... :)
WertriK
Profil *
Tak jsem mi dlouho nehral, bud je na to nejaka fce nebo si s tim sakra praci ...
halogan
Profil
WetriK: Ale no tak :)
mackopu: http://pear.php.net/package/Numbers_Words
WertriK
Profil *
ach jo ... :)
mackopu
Profil
halogan - díky, ale při nejlepší vůli jsem to nerozchodil. Bodnul by nějaký český návod, protože to hlásí chyby, že tam není include souboru, který v tom zipu vůbec není. Nechám si rád poradit.
WertriK - nevzdychej, jestli se chceš v něčem pitvat, tady máš námět. Je mi jasné, že je to hodně nahrubo, i když funkční, a přivítám zjednodušení či zlepšení. Nejsem silný v OOP, tak jsem to tam namlátil switchema a ifama, jak mi to zrovna mozek plodil. Přesto myslím, že je to slušné.
WertriK
Profil *
mackopu
tak jsem pitval a toto je vysledek - zda se mi to krajsi nez to tvoje, ale zase toto neni dodelane, chybi tomu jeste podminka na náctky :
pri cisle 47012 to vratí "čtyřimiliony sedmtisíc deset dva" misto "čtyřimiliony sedmtisíc dvanást"
Ale to neni problem dodelat. Jinak tady je script - mi ho ohodnotte [vemte v potaz ze to delam 30 minut :) a chce se mi spat ]

<php

$nums= array (
0 => array (1 => "", 2 => "", 3 => "", 4 => "", 5 => ""),
1 => array (1 => "jedna", 2 => "deset", 3 => "jenosto", 4 => "jedentisíc", 5 => "jedenmilion"),
2 => array (1 => "dva", 2 => "dvacet", 3 => "dvěstě", 4 => "dvatisíce", 5 => "dvamiliony"),
3 => array (1 => "tři", 2 => "třicet", 3 => "třista", 4 => "třitisíce", 5 => "třimiliony"),
4 => array (1 => "čtyři", 2 => "čtyřicet", 3 => "čtyřista", 4 => "čtyřitisíce",5 => "čtyřimiliony"),
5 => array (1 => "pět", 2 => "padesát", 3 => "pětset", 4 => "pěttisíc", 5 => "pětmilionů"),
6 => array (1 => "šest", 2 => "šedesát", 3 => "šestset", 4 => "šesttisíc", 5 => "šestmilionů"),
7 => array (1 => "sedm", 2 => "sedmdesát", 3 => "sedmset", 4 => "sedmtisíc", 5 => "sedmmilionů"),
8 => array (1 => "osm", 2 => "osmdesát", 3 => "osmset", 4 => "osmtisíc", 5 => "osmmilionů"),
9 => array (1 => "devět", 2 => "devadesát", 3 => "devětset", 4 => "devěttisíc", 5 => "devětmilionů"),
);

$num = "57012";
$num_lenght = StrLen($num);

$y = $num_lenght;
for($i = 0; $i <= $num_lenght; $i++) {

$x = $num[$i]; // hodnota cisla v dane pozici [na pozici nula je to 5 atp.]

echo $nums[$x][$y]."&nbsp;";

$y--;
}

?>

no to je cele .... :)
thingwath
Profil
Já jsem si taky hrál, sice je to praštěný, ale funguje mi to :-) Asi budu muset ale použít nějaké lepší metody a vymyslet něco použitelného :-) Za tohle bych se měl spíš stydět.

http://palisada.net/files/numtostring.c
WertriK
Profil *
Hlavne ze to fakci :)
thingwath
Profil
Vlastně tam mám jednu docela podstatnou chybu, kdo na ní přijde, sice nic nedostane, ale aspoň se může cítit dobře :-)
WertriK
Profil *
Jestli nedostanu lizatko tak me ani nehne ... :)
thingwath
Profil
Není to vůbec těžké (nemám tušení, proč mě to nedošlo hned). A za dobrý pocit to určitě stojí :-)
halogan
Profil
mackopu: potrebuje to PEAR.

thingwath: "strcat (vysledek, " buhvicolionu");" - pekne :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0