|
|
|
| надо мне числа отобразить прописью. подскажите как? может кто такое делал, так покажет как | |
|
|
|
|
|
|
|
для: inga
(04.09.2007 в 17:41)
| | С какого-то языка переделывал, уж не помню, работает.
<?
//преобразование числа в строку
function Conv999($M, $fm) {
$c1to9m[]='один';
$c1to9m[]='два';
$c1to9m[]='три';
$c1to9m[]='четыре';
$c1to9m[]='пять';
$c1to9m[]='шесть';
$c1to9m[]='семь';
$c1to9m[]='восемь';
$c1to9m[]='девять';
$c1to9f[]='одна';
$c1to9f[]='две';
$c1to9f[]='три';
$c1to9f[]='четыре';
$c1to9f[]='пять';
$c1to9f[]='шесть';
$c1to9f[]='семь';
$c1to9f[]='восемь';
$c1to9f[]='девять';
$c11to19[]='одиннадцать';
$c11to19[]='двенадцать';
$c11to19[]='тринадцать';
$c11to19[]='четырнадцать';
$c11to19[]='пятнадцать';
$c11to19[]='шестнадцать';
$c11to19[]='семнадцать';
$c11to19[]='восемнадцать';
$c11to19[]='девятнадцать';
$c10to90[]='десять';
$c10to90[]='двадцать';
$c10to90[]='тридцать';
$c10to90[]='сорок';
$c10to90[]='пятьдесят';
$c10to90[]='шестьдесят';
$c10to90[]='семьдесят';
$c10to90[]='восемьдесят';
$c10to90[]='девяносто';
$c100to900[]='сто';
$c100to900[]='двести';
$c100to900[]='триста';
$c100to900[]='четыреста';
$c100to900[]='пятьсот';
$c100to900[]='шестьсот';
$c100to900[]='семьсот';
$c100to900[]='восемьсот';
$c100to900[]='девятьсот';
$s = '';
$i = intval($M/100);
if ($i != 0) $s = $c100to900[$i-1].' ';
$M = $M % 100;
$i = intval($M/10);
if (($M > 10) && ($M < 20)) $s = $s.$c11to19[$M-11].' ';
else
{
if ($i != 0) $s = $s.$c10to90[$i-1].' ';
$M = $M % 10;
if ($M != 0) {
if ($fm == 0) $s = $s.$c1to9f[$M-1].' ';
else $s = $s.$c1to9m[$M-1].' '; }
}
return $s;
}
//запрос преобразования числа в строку
function NumToStr($i) {
$t = '';
$j = intval($i/1000000);
if ($j != 0)
{
$t = $t.Conv999($j,1).'миллион';
$j = $j % 100;
if (($j > 10) && ($j < 20)) $t = $t.'ов ';
else
{
$a = $j % 10;
if (($a == 0) || (($a >= 5) && ($a <= 9))) $t = $t.'ов ';
if ($a == 1) $t = $t.' ';
if (($a >= 2) && ($a <= 4)) $t = $t.'а ';
}
}
$i = $i % 1000000;
$j = intval($i/1000);
if ($j != 0)
{
$t = $t.Conv999($j,0).'тысяч';
$j = $j % 100;
if (($j > 10) && ($j < 20)) $t = $t.' ';
else
{
$a = $j % 10;
if (($a == 0) || (($a >= 5) && ($a <= 9))) $t = $t.' ';
if ($a == 1) $t = $t.'а ';
if (($a >= 2) && ($a <= 4)) $t = $t.'и ';
}
}
$i = $i % 1000;
$j = $i;
if ($j != 0) $t = $t.Conv999($j,1);
return $t;
}
?>
|
| |
|
|
|
|
|
|
|
|
для: cheops
(04.09.2007 в 17:52)
| | спасибо, это то что надо | |
|
|
|