Autor Zpráva
zacatecnik123
Profil
Zdravím,
potřeboval bych poradit s kodem, který by na jedné stránce nechal návštěvníka napsat 3 místné číslo a po odeslání na druhou by to vypasalo číslo slovy. Předem díky za rady.
Giga
Profil *
No tak toto som riešil v Exceli, keď sa mi nechcelo vypisovť na faktúru sumu slovom ...
Normálne rozložiť na stovky desiatky jednotky a poskladať pomocou polí.
Str4wberry
Profil
Můžeš použít nějaké hotové řešení nebo si napsat vlastní — stačí ti k tomu funkce substr a pár podmínek.
zacatecnik123
Profil
Dobrá pustím se do toho vlastního. Děkuji za pomoc ta funkce je to co jsem hledal.
Joker
Profil
Str4wberry:
Proč zrovna substr?

Jinak nástřel od boku jak si myslím, že by to mohlo fungovat:
function slovy($castka)
{
$stovky = array("", "jednosto", "dvěstě", "třista", "čtyřista", "pětset", "šestset", "sedmset", "osmset", "devětset");
$desitky = array(2=>"dvacet", "třicet", "čtyřicet", "padesát", "šedesát", "sedmdesát", "osmdesát", "devadesát");
$jednotky = array("", "jedna", "dva", "tři", "čtyři", "pět", "šest", "sedm", "osm", "devět", "deset", "jedenáct", "dvanáct", "třináct", "čtrnáct", "patnáct", "šestnáct", "sedmnáct", "osmnáct", "devatenáct");

if(($castka < 1) || ($castka > 999)) return ""; // funguje v rozsahu 1-999
$slovy = $stovky[floor($castka/100)];
$temp = $castka % 100;
if($temp > 19) 
  $slovy = $slovy.$desitky[floor($temp/10)].$jednotky[$temp % 10];
else
  $slovy = $slovy.$jednotky[$temp];
  
return $slovy;
}
Jack Bauer
Profil *
Joker:
Díky, dovolil jsem si ten nástřel od boku použít ;)
Joker:

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0