function slownie ($kw) { $t_a = array('','sto','dwieście','trzysta','czterysta','pięćset','sześćset','siedemset','osiemset','dziewięćset'); $t_b = array('','dziesięć','dwadzieścia','trzydzieści','czterdzieści','pięćdziesiąt','sześćdziesiąt','siedemdziesiąt','osiemdziesiąt','dziewięćdziesiąt'); $t_d = array('dziesięć','jedenaście','dwanaście','trzynaście','czternaście','piętnaście','szesnaście','siednaście','osiemnaście','dziewiętnaście'); if ($kw!='') { for($i = $ln; $i < $tmp_a; $i++) { $l_pad .= '0'; $kw_w = $l_pad . $tmp[0]; } $kw_w=($kw_w=='') ? $tmp[0]:$kw_w; $p_tmp=$paczki; for($i=0;$i<=$paczki;$i++) { $t_tmp='t_kw_'.$p_tmp; $p_tmp--; $kw_w_s=($p_kw{1}!=1) ? $t_a[$p_kw{0}].' '.$t_b[$p_kw{1}].' '.$t_c[$p_kw{2}]:$t_a[$p_kw{0}].' '.$t_d[$p_kw{2}]; if(($p_kw{0}==0)&&($p_kw{2}==1)&&($p_kw{1}<1)) $ka=${$t_tmp}[0]; //możliwe że $p_kw{1}!=1 else if (($p_kw{2}>1 && $p_kw{2}<5)&&$p_kw{1}!=1) $ka=${$t_tmp}[2]; else $ka=${$t_tmp}[1]; $kw_slow.=$kw_w_s.' '.$ka.' '; } } $text = $kw_slow.' '.$tmp[1].'/100 gr.'; return $text; }
wszystko jest ok, ale jeśli w kwocie mam np 10.20 zł to pisze: dziesięć złotych 2/100 gr.
ale jeśli jest 10.23 zł to jest dobrze - reasumując, pomija mi ostatnie zero w groszach, ale jeśli jest zero groszy to jest OK....