Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: перевод числа в текст
 
 автор: inga   (04.09.2007 в 17:41)   письмо автору
 
 

надо мне числа отобразить прописью. подскажите как? может кто такое делал, так покажет как

   
 
 автор: sim5   (04.09.2007 в 17:46)   письмо автору
 
   для: 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)   письмо автору
 
   для: inga   (04.09.2007 в 17:41)
 

Возможно вас заинтересует тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4540.

   
 
 автор: inga   (04.09.2007 в 17:55)   письмо автору
 
   для: cheops   (04.09.2007 в 17:52)
 

спасибо, это то что надо

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования