Главная страница
    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.031 c
2-1169656059
NightRain
2007-01-24 19:27
2007.02.11
А можно в delphi компоненты на форме прописать в массив?


9-1143051978
DR0N
2006-03-22 21:26
2007.02.11
Сумосбродная игра от DRON


15-1167511056
Real
2006-12-30 23:37
2007.02.11
Код подтверждения на web-формах - альтернативный подход


2-1169647762
MegaVolt
2007-01-24 17:09
2007.02.11
Как в моём компоненте перехватить сообщение Parent?


2-1169540039
cvg
2007-01-23 11:13
2007.02.11
откуда взять описание типа TidIcmpClient?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский