Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.11;
Скачать: CL | DM;

Вниз

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

 
_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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
15-1169118389
Ксардас
2007-01-18 14:06
2007.02.11
подскажите плз сервер


2-1169601520
VladSel
2007-01-24 04:18
2007.02.11
Указатели


15-1169284397
Piroxyline
2007-01-20 12:13
2007.02.11
Спам


15-1169512369
Lapushka-dochka
2007-01-23 03:32
2007.02.11
Подскажите, где взять документацию по компонентам PivotCube?


8-1150328699
h8394E
2006-06-15 03:44
2007.02.11
Кадры анимации





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