Число прописью на узбекском языке.
Функция ЧислоПрописьюУзб(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;
КонецЕсли;
КонецФункции
