Каталог решений - Число прописью на узбекском языке.

Число прописью на узбекском языке.

Число прописью на узбекском языке.

В наличии

Функция  ЧислоПрописьюУзб(simv) Экспорт преобразует число, число с прописью.

Можно поместить в общую модуль, и обращаться к этой функции. Буквы к, х, у, г остались не измененным, то есть например число 40 пишется как  «кирк» .  

Категория:

Описание

Функция  ЧислоПрописьюУзб(simv) Экспорт преобразует число, число с прописью.

Можно поместить в общую модуль, и обращаться к этой функции. Буквы к, х, у, г остались не измененным, то есть например число 40 пишется как  «кирк» .  

 Функция ЧислоПрописьюУзб(simv) Экспорт
        s1 = Новый массив(22);
        s2 = Новый массив(12);
        s4 = Новый массив(12);
        s1[1] = «бир»;    
        s1[2] = «икки»;    
        s1[3] = «уч»;    
        s1[4] = «турт»;    
        s1[5] = «беш»;    
        s1[6] = «олти»;    
        s1[7] = «етти»;    
        s1[8] = «саккиз»;    
        s1[9] = «туккиз»;    
        s1[10] = «ун»;    
        s1[11]=»ун бир»;
        s1[12]=»ун икки»;
        s1[13]=»ун уч»;
        s1[14]=»ун турт»;
        s1[15]=»ун беш»;
        s1[16]=»ун олти»;
        s1[17]=»ун етти»;
        s1[18]=»ун саккиз»;
        s1[19]=»ун туккиз»;
        s1[20]=»йигирма»;
        s1[21]=»»;
        
        s2[1] = «ун»;    
        s2[2] = «йигирма»;    
        s2[3] = «уттиз»;    
        s2[4] = «кирк»;    
        s2[5] = «эллик»;    
        s2[6] = «олтмиш»;    
        s2[7] = «етмиш»;    
        s2[8] = «саксон»;    
        s2[9] = «туксон»;    
        s2[10] = «юз»;    
        s2[11] = «»;

        s4[1] = «бир юз»;    
        s4[2] = «икки юз»;    
        s4[3] = «уч юз»;    
        s4[4] = «турт юз»;    
        s4[5] = «беш юз»;    
        s4[6] = «олти юз»;    
        s4[7] = «етти юз»;    
        s4[8] = «саккиз юз»;    
        s4[9] = «туккиз юз»;    
        s4[10] = «минг»;    
        s4[11] = «»;

        slova = «»;
        word = «»;
        ss0 = СтрЗаменить(simv,Символы.НПП,»»);
        ss1 = Цел(Число(ss0));
        k = СтрДлина(ss1);
        if  k > 9 then
            n = k-9;
            mlrd = лев(ss1,n);
            word=aniq(mlrd,s1,s2,s4);
            slova=word+» миллиaрд»;
            mln=Сред(СокрЛП(ss1),n+1,3);
            if Число(mln)=0 then
              word=»»;
              slova=slova+» «+word;
            else
              word = aniq(mln,s1,s2,s4);
              slova=slova+» «+word+» миллион»;
            endif;
            ming=Сред(СокрЛП(ss1),n+4,3);
            if Число(ming)=0 then
               word=»»;
               slova=slova+» «+word;
            else
               word = aniq(ming,s1,s2,s4);
               slova=slova+» «+word+» минг»;
            endif;
            uz=Сред(СокрЛП(ss1),n+7,3);
            if Число(uz)=0 then
               word=»»;
               slova=slova+» «+word+» сум»;
            else
               word = aniq(uz,s1,s2,s4);
               slova=slova+» «+word+» сум»;
            endif
        else
           if 6               n=k-6;
               mln=Сред(СокрЛП(ss1),1,n);
               word = aniq(mln,s1,s2,s4);
               slova=СокрЛП(slova)+» «+word+» миллион»;
               ming=Сред(СокрЛП(ss1),n+1,3);
               mm=0;
               if Число(ming)=0 then
                  word=»»;
                  slova=slova+» «+word;
               else
                  mm=1;
                  word = aniq(ming,s1,s2,s4);
                  slova=slova+» «+word+» минг»;
               endif;
               uz=Сред(СокрЛП(ss1),n+4,3);
               if Число(uz)=0 then
                  word=»»;
                  slova=slova+» «+word+» сум»;
               else
                   word = aniq(uz,s1,s2,s4);
                   slova=slova+» «+word+» сум»;
               endif;
           else
               if 3                    n=k-3;
                    ming=Сред(СокрЛП(ss1),1,n);
                    if Число(ming)=0 then
                       word=»»;
                    else
                       word= aniq(ming,s1,s2,s4);
                       slova=СокрЛП(slova)+» «+word+» минг»;
                    endif;
                    uz=Сред(СокрЛП(ss1),n+1,3);
                    if Число(uz)=0 then
                       word=»»;
                       slova=slova+» «+word+» сум»;
                    else
                        word = aniq(uz,s1,s2,s4);
                        slova=slova+» «+word+» сум»;
                    endif;
               else
                   if k                        n=k-3;
                        uz=Сред(СокрЛП(ss1),1,k);
                        if Число(uz)=0 then
                           word=»»;
                           slova=slova+» «+word+» сум»;
                        else
                            word = aniq(uz,s1,s2,s4);
                            slova=slova+» «+word+» сум»;
                        endif;
                   endif;
               endif;
           endif;
endif;
monet=simv-цел(simv);
if monet>0 then
  slova=СокрЛП(slova)+» «+Строка(monet*100)+» тийин.»;
endif;
nn=СтрДлина(СокрЛП(slova));
fist_lit=» «;
fist_lit = Сред(СокрЛП(slova),1,1);
slova=ВРег(fist_lit)+Сред(СокрЛП(slova),2,nn-1);
return СокрЛП(slova);

КонецФункции    
Функция aniq(numb,s1,s2,s4)
   k_1 = СтрДлина(СокрЛП(numb));
   if k_1=3 then
   n_1=Сред(numb,1,1);
   n_1_=Число(n_1);
   if n_1_=0 then
      n_1_=11;
   endif;
   n_2=Сред(numb,2,2);
   n_2_=Число(n_2);
   if n_2_>19 then
      n_2=Сред(numb,2,1);
   endif;
   n_2_=Число(n_2);
   if n_2_=0 then
      n_2_=21;
   endif;
   n_3=Сред(numb,3,1);
   n_3_=Число(n_3);
   if n_3_=0 then
      n_3_=21;
   endif;
   if СтрДлина(n_2)     word=s4[n_1_]+» «+s2[n_2_]+» «+s1[n_3_];
   else
     word=s4[n_1_]+» «+s1[n_2_];
   endif;
   возврат word;
else
   if k_1=2 then
      n_2=Сред(numb,1,2);
      n_2_=Число(n_2);
      if n_2_>19 then
         n_2=Сред(numb,1,1);
      endif;
      n_3=Сред(numb,2,1);
      n_3_=Число(n_3);
      n_2_=Число(n_2);
      if n_2_=0 then
         n_2_=11;
         n2=11;
      endif;
      if n_3_=0 then
         n_3_=21;
      endif;
      if СтрДлина(n_2)        word=s2[n_2_]+» «+s1[n_3_];
      else
        word=s1[n_2_];
      endif;
      return word;
   else
      if k_1=1 then
         n_3=Сред(numb,1,1);
         n_3_=Число(n_3);
         if n_3_=0 then
            n_3_=11;
         endif;
            word=s1[n_3_];
         return word;
      endif;
   endif;
КонецЕсли;    
КонецФункции    

has been added to your cart:
Оформление заказа