Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизЦифры в слова Найти похожие ветки
← →
Merry (2004-03-03 20:30) [0]Подскажите, пожалуйста. Если ли в Delphi
готовая функция перевода из цифр в слова,
т.е. 5000 руб. в "пять тысяx рублей"?
← →
Vlad © (2004-03-03 20:34) [1]
> Merry (03.03.04 20:30)
> Если ли в Delphi
> готовая функция перевода из цифр в слова,
> т.е. 5000 руб. в "пять тысяx рублей"?
Нету.
← →
Алхимик © (2004-03-03 20:56) [2]Из местной кладовки.
http://www.delphimaster.ru/cgi-bin/download.pl?get=1069401646&n=0
← →
Cyborg! (2004-03-04 08:45) [3]2Merry - такой готовой функции нет и быть не может!
Не ленитесь написать этот несложный алгоритм сами!
← →
Кщд (2004-03-04 09:09) [4]Cyborg! (04.03.04 08:45) [3]
зачем изобретать велосипед, тем паче, что это самокат?
какая в этом познавательная ценность?
← →
Palladin © (2004-03-04 09:22) [5]
> Кщд (04.03.04 09:09) [4]
А затем, можно воспользоватся и уже написанным, но не ужели самому не интересно реализовать? Сколько можно опыта при этом получить.
← →
Семен Сорокин © (2004-03-04 09:49) [6]Palladin © (04.03.04 09:22) [5]
:))
Схватил много экспы и получил Level-up
(С) Две сорванные башни
← →
Кщд (2004-03-04 10:09) [7]Palladin © (04.03.04 09:22) [5]
без претензии на объективность: интересно реализовать, например, какую-нибудь хитрющую сортировку, а писать "парсер" чисел - скучновато...
← →
Санек-Ш (2004-03-04 12:29) [8]Вот на VB, даже на VBA... В pascal переделать очень просто, даже новичку в Дельфях... теже массивы и строковые операторы... Короче кому надо сделает
Public Function TransInteger(Chislo As String) As String
Dim ChisloStr(4, 20) As String
ChisloStr(1, 0) = ""
ChisloStr(1, 1) = "один"
ChisloStr(1, 2) = "два"
ChisloStr(1, 3) = "три"
ChisloStr(1, 4) = "четыре"
ChisloStr(1, 5) = "пять"
ChisloStr(1, 6) = "шесть"
ChisloStr(1, 7) = "семь"
ChisloStr(1, 8) = "восемь"
ChisloStr(1, 9) = "девять"
ChisloStr(1, 10) = "десять"
ChisloStr(1, 11) = "одинадцать"
ChisloStr(1, 12) = "двенадцать"
ChisloStr(1, 13) = "тринадцать"
ChisloStr(1, 14) = "четырнадцать"
ChisloStr(1, 15) = "пятнадцать"
ChisloStr(1, 16) = "шестнадцать"
ChisloStr(1, 17) = "семнадцать"
ChisloStr(1, 18) = "восемнадцать"
ChisloStr(1, 19) = "девятнадцать"
ChisloStr(2, 1) = "десять"
ChisloStr(2, 2) = "двадцать"
ChisloStr(2, 3) = "тридцать"
ChisloStr(2, 4) = "сорок"
ChisloStr(2, 5) = "пятьдесят"
ChisloStr(2, 6) = "шестьдесят"
ChisloStr(2, 7) = "семьдесят"
ChisloStr(2, 8) = "восемьдесят"
ChisloStr(2, 9) = "девяносто"
ChisloStr(3, 1) = "сто"
ChisloStr(3, 2) = "двести"
ChisloStr(3, 3) = "триста"
ChisloStr(3, 4) = "четыреста"
ChisloStr(3, 5) = "пятьсот"
ChisloStr(3, 6) = "шестьсот"
ChisloStr(3, 7) = "семьсот"
ChisloStr(3, 8) = "восемьсот"
ChisloStr(3, 9) = "девятьсот"
ChisloStr(4, 1) = "одна тысяча"
ChisloStr(4, 2) = "две тысячи"
ChisloStr(4, 3) = "три тысячи"
ChisloStr(4, 4) = "четыре тысячи"
ChisloStr(4, 5) = "пять тысяч"
ChisloStr(4, 6) = "шесть тысяч"
ChisloStr(4, 7) = "семь тысяч"
ChisloStr(4, 8) = "восемь тысяч"
ChisloStr(4, 9) = "девять тысяч"
ChisloStr(4, 10) = "десять тысяч"
ChisloStr(4, 11) = "одинадцать тысяч"
ChisloStr(4, 12) = "двенадцать тысяч"
ChisloStr(4, 13) = "тринадцать тысяч"
ChisloStr(4, 14) = "четырнадцать тысяч"
ChisloStr(4, 15) = "пятнадцать тысяч"
If Int(Chislo) < 16000 Then
If Len(Chislo) > 2 Then
If Int(Right((Chislo), 2)) > 0 And Int(Right((Chislo), 2)) < 20 Then
ед = ""
дес = ChisloStr(1, Int(Right(Chislo, 2)))
Else
ед = ChisloStr(1, Int(Right(Chislo, 1)))
дес = ChisloStr(2, Left(Int(Right(Chislo, 2)), 1))
End If
сто = ChisloStr(3, Int(Left(Right(Chislo, 3), 1)))
End If
If Len(Chislo) = 4 Then тыс = ChisloStr(4, Int(Left(Right(Chislo, 4), 1)))
If Len(Chislo) = 5 Then тыс = ChisloStr(4, Int(Left(Chislo, 2)))
End If
TransInteger = тыс + " " + сто + " " + дес + " " + ед
End Function
← →
Санек-Ш (2004-03-04 12:30) [9]Вот на VB, даже на VBA... В pascal переделать очень просто, даже новичку в Дельфях... теже массивы и строковые операторы... Короче кому надо сделает
Public Function TransInteger(Chislo As String) As String
Dim ChisloStr(4, 20) As String
ChisloStr(1, 0) = ""
ChisloStr(1, 1) = "один"
ChisloStr(1, 2) = "два"
ChisloStr(1, 3) = "три"
ChisloStr(1, 4) = "четыре"
ChisloStr(1, 5) = "пять"
ChisloStr(1, 6) = "шесть"
ChisloStr(1, 7) = "семь"
ChisloStr(1, 8) = "восемь"
ChisloStr(1, 9) = "девять"
ChisloStr(1, 10) = "десять"
ChisloStr(1, 11) = "одинадцать"
ChisloStr(1, 12) = "двенадцать"
ChisloStr(1, 13) = "тринадцать"
ChisloStr(1, 14) = "четырнадцать"
ChisloStr(1, 15) = "пятнадцать"
ChisloStr(1, 16) = "шестнадцать"
ChisloStr(1, 17) = "семнадцать"
ChisloStr(1, 18) = "восемнадцать"
ChisloStr(1, 19) = "девятнадцать"
ChisloStr(2, 1) = "десять"
ChisloStr(2, 2) = "двадцать"
ChisloStr(2, 3) = "тридцать"
ChisloStr(2, 4) = "сорок"
ChisloStr(2, 5) = "пятьдесят"
ChisloStr(2, 6) = "шестьдесят"
ChisloStr(2, 7) = "семьдесят"
ChisloStr(2, 8) = "восемьдесят"
ChisloStr(2, 9) = "девяносто"
ChisloStr(3, 1) = "сто"
ChisloStr(3, 2) = "двести"
ChisloStr(3, 3) = "триста"
ChisloStr(3, 4) = "четыреста"
ChisloStr(3, 5) = "пятьсот"
ChisloStr(3, 6) = "шестьсот"
ChisloStr(3, 7) = "семьсот"
ChisloStr(3, 8) = "восемьсот"
ChisloStr(3, 9) = "девятьсот"
ChisloStr(4, 1) = "одна тысяча"
ChisloStr(4, 2) = "две тысячи"
ChisloStr(4, 3) = "три тысячи"
ChisloStr(4, 4) = "четыре тысячи"
ChisloStr(4, 5) = "пять тысяч"
ChisloStr(4, 6) = "шесть тысяч"
ChisloStr(4, 7) = "семь тысяч"
ChisloStr(4, 8) = "восемь тысяч"
ChisloStr(4, 9) = "девять тысяч"
ChisloStr(4, 10) = "десять тысяч"
ChisloStr(4, 11) = "одинадцать тысяч"
ChisloStr(4, 12) = "двенадцать тысяч"
ChisloStr(4, 13) = "тринадцать тысяч"
ChisloStr(4, 14) = "четырнадцать тысяч"
ChisloStr(4, 15) = "пятнадцать тысяч"
If Int(Chislo) < 16000 Then
If Len(Chislo) > 2 Then
If Int(Right((Chislo), 2)) > 0 And Int(Right((Chislo), 2)) < 20 Then
ед = ""
дес = ChisloStr(1, Int(Right(Chislo, 2)))
Else
ед = ChisloStr(1, Int(Right(Chislo, 1)))
дес = ChisloStr(2, Left(Int(Right(Chislo, 2)), 1))
End If
сто = ChisloStr(3, Int(Left(Right(Chislo, 3), 1)))
End If
If Len(Chislo) = 4 Then тыс = ChisloStr(4, Int(Left(Right(Chislo, 4), 1)))
If Len(Chislo) = 5 Then тыс = ChisloStr(4, Int(Left(Chislo, 2)))
End If
TransInteger = тыс + " " + сто + " " + дес + " " + ед
End Function
← →
Санек-Ш (2004-03-04 12:32) [10]Вот на VB, даже на VBA... В pascal переделать очень просто, даже новичку в Дельфях... теже массивы и строковые операторы... Короче кому надо сделает
Public Function TransInteger(Chislo As String) As String
Dim ChisloStr(4, 20) As String
ChisloStr(1, 0) = ""
ChisloStr(1, 1) = "один"
ChisloStr(1, 2) = "два"
ChisloStr(1, 3) = "три"
ChisloStr(1, 4) = "четыре"
ChisloStr(1, 5) = "пять"
ChisloStr(1, 6) = "шесть"
ChisloStr(1, 7) = "семь"
ChisloStr(1, 8) = "восемь"
ChisloStr(1, 9) = "девять"
ChisloStr(1, 10) = "десять"
ChisloStr(1, 11) = "одинадцать"
ChisloStr(1, 12) = "двенадцать"
ChisloStr(1, 13) = "тринадцать"
ChisloStr(1, 14) = "четырнадцать"
ChisloStr(1, 15) = "пятнадцать"
ChisloStr(1, 16) = "шестнадцать"
ChisloStr(1, 17) = "семнадцать"
ChisloStr(1, 18) = "восемнадцать"
ChisloStr(1, 19) = "девятнадцать"
ChisloStr(2, 1) = "десять"
ChisloStr(2, 2) = "двадцать"
ChisloStr(2, 3) = "тридцать"
ChisloStr(2, 4) = "сорок"
ChisloStr(2, 5) = "пятьдесят"
ChisloStr(2, 6) = "шестьдесят"
ChisloStr(2, 7) = "семьдесят"
ChisloStr(2, 8) = "восемьдесят"
ChisloStr(2, 9) = "девяносто"
ChisloStr(3, 1) = "сто"
ChisloStr(3, 2) = "двести"
ChisloStr(3, 3) = "триста"
ChisloStr(3, 4) = "четыреста"
ChisloStr(3, 5) = "пятьсот"
ChisloStr(3, 6) = "шестьсот"
ChisloStr(3, 7) = "семьсот"
ChisloStr(3, 8) = "восемьсот"
ChisloStr(3, 9) = "девятьсот"
ChisloStr(4, 1) = "одна тысяча"
ChisloStr(4, 2) = "две тысячи"
ChisloStr(4, 3) = "три тысячи"
ChisloStr(4, 4) = "четыре тысячи"
ChisloStr(4, 5) = "пять тысяч"
ChisloStr(4, 6) = "шесть тысяч"
ChisloStr(4, 7) = "семь тысяч"
ChisloStr(4, 8) = "восемь тысяч"
ChisloStr(4, 9) = "девять тысяч"
ChisloStr(4, 10) = "десять тысяч"
ChisloStr(4, 11) = "одинадцать тысяч"
ChisloStr(4, 12) = "двенадцать тысяч"
ChisloStr(4, 13) = "тринадцать тысяч"
ChisloStr(4, 14) = "четырнадцать тысяч"
ChisloStr(4, 15) = "пятнадцать тысяч"
If Int(Chislo) < 16000 Then
If Len(Chislo) > 2 Then
If Int(Right((Chislo), 2)) > 0 And Int(Right((Chislo), 2)) < 20 Then
ед = ""
дес = ChisloStr(1, Int(Right(Chislo, 2)))
Else
ед = ChisloStr(1, Int(Right(Chislo, 1)))
дес = ChisloStr(2, Left(Int(Right(Chislo, 2)), 1))
End If
сто = ChisloStr(3, Int(Left(Right(Chislo, 3), 1)))
End If
If Len(Chislo) = 4 Then тыс = ChisloStr(4, Int(Left(Right(Chislo, 4), 1)))
If Len(Chislo) = 5 Then тыс = ChisloStr(4, Int(Left(Chislo, 2)))
End If
TransInteger = тыс + " " + сто + " " + дес + " " + ед
End Function
← →
Санек-Ш (2004-03-04 12:38) [11]ОГО с эхом получилось :))
Ну тады пардон.
← →
Builder © (2004-03-04 12:40) [12]Я не совсем понял, три раза повтор это обязательное устовие написания? :), алгоритм пишется в течении 20 мин, что то новое узнать о Паскале вряд ли получиться, все самое простое. Но это мое сугубо личное мнение. Хотя в Дельфи я очень и очень слаб...
← →
Amoeba © (2004-03-04 12:52) [13]В сети легко найти готовые качественно написанные модули.
← →
Gennadiy © (2004-03-04 13:56) [14]Такая функция довольно простая могу выслать по почте.
← →
TransparentGhost (2004-03-04 17:31) [15]Jesli komu nado, mogu i na latishskom vislat" :o)
← →
BJValentine © (2004-03-04 19:28) [16]А что делать тем, кому не надо? 8-D
← →
DelphiN! © (2004-03-05 15:17) [17]Вот 13 способов реализации этой ф-ии :-)
http://www.delphisyte.ru/Articles/base2/sum_written_out.html
http://www.delphisyte.ru/Articles/base2/sum_written_out2.html
http://www.delphisyte.ru/Articles/base2/sum_written_out3.html
http://www.delphisyte.ru/Articles/base2/sum_written_out4.html
http://www.delphisyte.ru/Articles/base2/sum_written_out5.html
http://www.delphisyte.ru/Articles/base2/sum_written_out6.html
http://www.delphisyte.ru/Articles/base2/sum_written_out7.html
http://www.delphisyte.ru/Articles/base2/sum_written_out8.html
http://www.delphisyte.ru/Articles/base2/sum_written_out9.html
http://www.delphisyte.ru/Articles/base2/sum_written_out10.html
http://www.delphisyte.ru/Articles/base2/sum_written_out11.html
http://www.delphisyte.ru/Articles/base2/sum_written_out12.html
http://www.delphisyte.ru/Articles/base2/sum_written_out13.html
← →
TransparentGhost (2004-03-05 16:30) [18]komu ne nado, tem tozha vishlju :o)
← →
WebErr © (2004-03-05 17:38) [19]Есть несложная функция в Windows 32 API - IntToRusChislo c 15-ю параметрами. Кто самый смелый - вперёд. А вообще сотрите этот флуд - совместите приятное с полезным! Модераторы! :))))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.035 c