Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];

Вниз

Числа пропистью   Найти похожие ветки 

 
_ozzy_   (2007-01-19 14:18) [0]

Поделитесь, кто знает, как перевести числа в слова (числа прописью).


 
Сергей М. ©   (2007-01-19 14:32) [1]

Гугль подаст.

http://www.google.ru/search?q=Delphi+%D1%87%D0%B8%D1%81%D0%BB%D0%BE+%D0%BF%D1%80%D0%BE%D0%BF%D0%B8%D1%81%D1%8C%D1%8E&ie=utf-8&oe=utf-8&rls=org.mozilla:ru:official&client=firefox-a


 
Array ©   (2007-01-19 14:43) [2]

http://narod.yandex.ru/cgi-bin/yandsearch?user=delphiworld&text=%F1%F3%EC%EC%E0+%EF%F0%EE%EF%E8%F1%FC%FE&where=2


 
NiGGa ©   (2007-01-19 14:55) [3]

Мы что-то такое используем

res := Sum2TxtFunction(120.566, "рубасов", "капеек", true);
res = "Сто двадцять  рубасов 56 капеек";
res := Sum2TxtFunction(120.566, "рубасов", "капеек", false);
res = "Сто двадцять  рубасов";

function Sum2TxtFunction(lSumDbl: extended; lCurrStr, lFractStr: string; lFractBln: boolean): string;
 function CSpace(C: Char; Count: Integer): String;
 var
   i: Integer;
 begin
   for i := 0 to Count - 1 do
     Result := Result + C;
 end;
var
 tmpDecSep: Char;
 lsResult: String;

 tis, mln, mlrd, dig, dig_a: array[0..19] of string;
 ten, hun: array[0..9] of string;

 CurrValue: Integer;
 Fraction: String;
 TmStr: String;
 s, i: integer;
 DIGIT, RADIX: String;
begin
 // тысячи
 tis[0] := "тисяч ";
 tis[1] := "тисяча ";
 tis[2] := "тисячi ";
 tis[3] := "тисячi ";
 tis[4] := "тисячi ";
 tis[5] := "тисяч ";
 tis[6] := "тисяч ";
 tis[7] := "тисяч ";
 tis[8] := "тисяч ";
 tis[9] := "тисяч ";
 tis[10] := "тисяч ";
 tis[11] := "тисяч ";
 tis[12] := "тисяч ";
 tis[13] := "тисяч ";
 tis[14] := "тисяч ";
 tis[15] := "тисяч ";
 tis[16] := "тисяч ";
 tis[17] := "тисяч ";
 tis[18] := "тисяч ";
 tis[19] := "тисяч ";
 // мiльйон
 mln[0] := "мiльйонiв ";
 mln[1] := "мiльйон ";
 mln[2] := "мiльйона ";
 mln[3] := "мiльйона ";
 mln[4] := "мiльйона ";
 mln[5] := "мiльйонiв ";
 mln[6] := "мiльйонiв ";
 mln[7] := "мiльйонiв ";
 mln[8] := "мiльйонiв ";
 mln[9] := "мiльйонiв ";
 mln[10] := "мiльйонiв ";
 mln[11] := "мiльйонiв ";
 mln[12] := "мiльйонiв ";
 mln[13] := "мiльйонiв ";
 mln[14] := "мiльйонiв ";
 mln[15] := "мiльйонiв ";
 mln[16] := "мiльйонiв ";
 mln[17] := "мiльйонiв ";
 mln[18] := "мiльйонiв ";
 mln[19] := "мiльйонiв ";
 // мiльярдiв
 mlrd[0] := " ";
 mlrd[1] := "мiльярд ";
 mlrd[2] := "мiльярда ";
 mlrd[3] := "мiльярда ";
 mlrd[4] := "мiльярда ";
 mlrd[5] := "мiльярдiв ";
 mlrd[6] := "мiльярдiв ";
 mlrd[7] := "мiльярдiв ";
 mlrd[8] := "мiльярдiв ";
 mlrd[9] := "мiльярдiв ";
 mlrd[10] := "мiльярдiв ";
 mlrd[11] := "мiльярдiв ";
 mlrd[12] := "мiльярдiв ";
 mlrd[13] := "мiльярдiв ";
 mlrd[14] := "мiльярдiв ";
 mlrd[15] := "мiльярдiв ";
 mlrd[16] := "мiльярдiв ";
 mlrd[17] := "мiльярдiв ";
 mlrd[18] := "мiльярдiв ";
 mlrd[19] := "мiльярдiв ";
 // цифры
 dig[0] := "";
 dig[1] := "один ";
 dig[2] := "два ";
 dig[3] := "три ";
 dig[4] := "чотири ";
 dig[5] := "п""ять ";
 dig[6] := "шiсть ";
 dig[7] := "сiм ";
 dig[8] := "вiсiм ";
 dig[9] := "дев""ять ";
 dig[10] := "десять ";
 dig[11] := "одиннадцять ";
 dig[12] := "дванадцять ";
 dig[13] := "тринадцять ";
 dig[14] := "чотирнадцять ";
 dig[15] := "п""ятнадцять ";
 dig[16] := "шiстьнадцять ";
 dig[17] := "сiмнадцять ";
 dig[18] := "вiсiмнадцять ";
 dig[19] := "дев""ятнадцять ";
 // цифры
 dig_a[0] := "";
 dig_a[1] := "одна ";
 dig_a[2] := "двi ";
 dig_a[3] := "три ";
 dig_a[4] := "чотири ";
 dig_a[5] := "п""ять ";
 dig_a[6] := "шiсть ";
 dig_a[7] := "сiм ";
 dig_a[8] := "вiсiм ";
 dig_a[9] := "дев""ять ";
 dig_a[10] := "десять ";
 dig_a[11] := "одиннадцять ";
 dig_a[12] := "дванадцять ";
 dig_a[13] := "тринадцять ";
 dig_a[14] := "чотирнадцять ";
 dig_a[15] := "п""ятнадцять ";
 dig_a[16] := "шiстьнадцять ";
 dig_a[17] := "сiмнадцять ";
 dig_a[18] := "вiсiмнадцять ";
 dig_a[19] := "дев""ятнадцять ";
 // десятки
 ten[0] := "";
 ten[1] := "";
 ten[2] := "двадцять ";
 ten[3] := "тридцять ";
 ten[4] := "сорок ";
 ten[5] := "п""ятдесят ";
 ten[6] := "шiстдесят ";
 ten[7] := "сiмдесят ";
 ten[8] := "вiсiмдесят ";
 ten[9] := "дев""яносто ";
 // сотни
 hun[0] := "";
 hun[1] := "сто ";
 hun[2] := "двiстi ";
 hun[3] := "триста ";
 hun[4] := "чотириста ";
 hun[5] := "п""ятьсот ";
 hun[6] := "шiстьсот ";
 hun[7] := "сiмсот ";
 hun[8] := "вiсiмсот ";
 hun[9] := "дев""ятьсот ";

 Fraction := "";
 i := 0;
 lSumDbl := ABS(lSumDbl);
 // отделить дробную часть
 CurrValue := trunc(lSumDbl);
 tmpDecSep := DecimalSeparator;
 DecimalSeparator := ".";
 try
   TmStr := FloatToStr(lSumDbl);
 finally
   DecimalSeparator := tmpDecSep;
 end;
 if (Pos(".", TmStr) > 0) then
   Fraction := Copy(TmStr, Pos(".", TmStr) + 1, 2);
 Fraction := Fraction + CSpace("0", 2 - Length(Fraction));
 lsResult := "";
 if Currvalue = 0 then
   lsResult := "Нуль "
 else
   while CurrValue > 0 do
     begin
     if (CurrValue mod 1000) <> 0 then
       begin
       s := CurrValue mod 100;
       if S < 20 then
         begin
         if i <= 1 then
           DIGIT := dig_a[s]
         else
           DIGIT := dig[s];
         case i of
           0: RADIX := "";
           1: RADIX := tis[s];
           2: RADIX := mln[s];
           3: RADIX := mlrd[s];
         end;
         lsResult := DIGIT + RADIX + lsResult;
       end
       else
         begin
         if i <= 1 then
           DIGIT := dig_a[s mod 10]
         else
           DIGIT := dig[s mod 10];
         case i of
           0: RADIX := "";
           1: RADIX := tis[s mod 10];
           2: RADIX := mln[s mod 10];
           3: RADIX := mlrd[s mod 10];
         end;
         lsResult := ten[trunc(s/10)] + DIGIT + RADIX + lsResult;
       end;
       CurrValue := trunc(CurrValue/100);
       s := CurrValue mod 10;
       lsResult := hun[s] + lsResult;
       CurrValue := trunc(CurrValue/10);
       i := i + 1;
     end
     else
       begin
       CurrValue := trunc(CurrValue/1000);
       i := i + 1;
     end;
   end;
 lsResult := lsResult + " " + lCurrStr;
 if lFractBln then
   lsResult := lsResult + " " + Fraction + " " + lFractStr;

 lsResult := AnsiUpperCase(Copy(lsResult, 1, 1)) + Copy(lsResult, 2, 254);
 Trim(lsResult);

 Result := lsResult;
end;


 
Piroxyline ©   (2007-01-20 12:18) [4]

А в FAQ заглянуть не судьба?
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=988619349&n=19


 
Amoeba ©   (2007-01-22 17:42) [5]

Выбирай на вкус:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1028
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=805
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1105
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=17
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1106



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.02.11;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.035 c
3-1163697525
Kolan
2006-11-16 20:18
2007.02.11
Как сделать чтобы программа подключалась к БД?


2-1169397407
FLOGISTONE
2007-01-21 19:36
2007.02.11
Определение имени текущей директории.


15-1168979975
DevilDevil
2007-01-16 23:39
2007.02.11
Отказаться от обновления Рамблеровской Аськи?


2-1169198467
Mettt
2007-01-19 12:21
2007.02.11
Четность числа


2-1169652134
ANB
2007-01-24 18:22
2007.02.11
Передать параметр макросу в Word





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский