Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сумма прописью 
:(
    Опции темы
Opik
Дата 20.3.2005, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Есть сумма: 1 245 руб. 04 коп. Надо получить: Одна тысяча двести сорок пять руб. 04 коп 
Код

<? 
$_1_2[1]="одна "; 
$_1_2[2]="две "; 

$_1_19[1]="один "; 
$_1_19[2]="два "; 
$_1_19[3]="три "; 
$_1_19[4]="четыре "; 
$_1_19[5]="пять "; 
$_1_19[6]="шесть "; 
$_1_19[7]="семь "; 
$_1_19[8]="восемь "; 
$_1_19[9]="девять "; 
$_1_19[10]="десять "; 

$_1_19[11]="одиннацать "; 
$_1_19[12]="двенадцать "; 
$_1_19[13]="тринадцать "; 
$_1_19[14]="четырнадцать "; 
$_1_19[15]="пятнадцать "; 
$_1_19[16]="шестнадцать "; 
$_1_19[17]="семнадцать "; 
$_1_19[18]="восемнадцать "; 
$_1_19[19]="девятнадцать "; 

$des[2]="двадцать "; 
$des[3]="тридцать "; 
$des[4]="сорок "; 
$des[5]="пятьдесят "; 
$des[6]="шестьдесят "; 
$des[7]="семьдесят "; 
$des[8]="восемдесят "; 
$des[9]="девяносто "; 

$hang[1]="сто "; 
$hang[2]="двести "; 
$hang[3]="триста "; 
$hang[4]="четыреста "; 
$hang[5]="пятьсот "; 
$hang[6]="шестьсот "; 
$hang[7]="семьсот "; 
$hang[8]="восемьсот "; 
$hang[9]="девятьсот "; 

$namerub[1]="рубль "; 
$namerub[2]="рубля "; 
$namerub[3]="рублей "; 

$nametho[1]="тысяча "; 
$nametho[2]="тысячи "; 
$nametho[3]="тысяч "; 

$namemil[1]="миллион "; 
$namemil[2]="миллиона "; 
$namemil[3]="миллионов "; 

$namemrd[1]="миллиард "; 
$namemrd[2]="миллиарда "; 
$namemrd[3]="миллиардов "; 

$kopeek[1]="копейка "; 
$kopeek[2]="копейки "; 
$kopeek[3]="копеек "; 


function semantic($i,&$words,&$fem,$f){ 
global $_1_2, $_1_19, $des, $hang, $namerub, $nametho, $namemil, $namemrd; 
$words=""; 
$fl=0; 
if($i >= 100){ 
$jkl = intval($i / 100); 
$words.=$hang[$jkl]; 
$i%=100; 

if($i >= 20){ 
$jkl = intval($i / 10); 
$words.=$des[$jkl]; 
$i%=10; 
$fl=1; 

switch($i){ 
case 1: $fem=1; break; 
case 2: 
case 3: 
case 4: $fem=2; break; 
default: $fem=3; break; 

if( $i ){ 
if( $i < 3 && $f > 0 ){ 
if ( $f >= 2 ) { 
$words.=$_1_19[$i]; 

else { 
$words.=$_1_2[$i]; 


else { 
$words.=$_1_19[$i]; 





function num2str($L){ 
global $_1_2, $_1_19, $des, $hang, $namerub, $nametho, $namemil, $namemrd, $kopeek; 

$s=" "; 
$s1=" "; 
$s2=" "; 
$kop=intval( ( $L*100 - intval( $L )*100 )); 
$L=intval($L); 
if($L>=1000000000){ 
$many=0; 
semantic(intval($L / 1000000000),$s1,$many,3); 
$s.=$s1.$namemrd[$many]; 
$L%=1000000000; 


if($L >= 1000000){ 
$many=0; 
semantic(intval($L / 1000000),$s1,$many,2); 
$s.=$s1.$namemil[$many]; 
$L%=1000000; 
if($L==0){ 
$s.="рублей "; 



if($L >= 1000){ 
$many=0; 
semantic(intval($L / 1000),$s1,$many,1); 
$s.=$s1.$nametho[$many]; 
$L%=1000; 
if($L==0){ 
$s.="рублей "; 



if($L != 0){ 
$many=0; 
semantic($L,$s1,$many,0); 
$s.=$s1.$namerub[$many]; 


if($kop > 0){ 
$many=0; 
semantic($kop,$s1,$many,1); 
$s.=$s1.$kopeek[$many]; 

else { 
$s.=" 00 копеек"; 


return $s; 

if (!isset($per)){ 

?> 
<FORM ACTION ="<? echo $PHP_SELF; ?>"> 
Введите положительное число, меньшее 10<sup>6<br> 
<INPUT type="text" name="per"><BR> 
<INPUT type="submit" value="Отправить"> 
</FORM> 
<?} else echo num2str($per);?> 

PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0649 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.