Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: ребята вы меня не так поняли! Добавлено: 30.04.07 15:08  

Автор вопроса:  explorer
Я хочу получить код преобразования чила, скажем 2163, в его текстовый эквивалент две тысячи сто шестдесят три

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 30.04.07 15:27
А никак нельзя было это написать в той же теме?

Ответить

Номер ответа: 2
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #2
Добавлено: 30.04.07 15:27

Нужно регекспами тогда заменять числа словами, ну что поделать - все склоенения придется продумать

Если хочешь, чтобы теяб правильно понимали - четко формулируй вопрос

Ответить

Номер ответа: 3
Автор ответа:
 ZagZag



ICQ: 295002202 

Вопросов: 87
Ответов: 1684
 Профиль | | #3 Добавлено: 30.04.07 18:33
http://www.google.ru/search?hl=ru&newwindow=1&q=site%3Avbnet.ru+%D0%9F%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4+%D1%87%D0%B8%D1%81%D0%BB%D0%B0+%D0%BE%D0%B4%D0%B8%D0%BD+%D0%B4%D0%B2%D0%B0+%D1%82%D1%80%D0%B8&lr=
Исходник суммы прописью - http://www.vbnet.ru/subscribe/showsubscribe.asp?id=18
http://www.google.ru/search?hl=ru&newwindow=1&q=site%3Avbnet.ru+%22%D0%A1%D1%83%D0%BC%D0%BC%D0%B0+%D0%BF%D1%80%D0%BE%D0%BF%D0%B8%D1%81%D1%8C%D1%8E%22&lr=

PS
И не смейте меня пинать =) Я ведь трижды отвечаю на этот вопрос, а не флужу =)

Ответить

Номер ответа: 4
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #4 Добавлено: 30.04.07 21:20
Я ведь трижды отвечаю на этот вопрос

Я свидетель.

Ответить

Номер ответа: 5
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #5
Добавлено: 30.04.07 22:48
Блин вродибы в примерах на сайте етом видел

Ответить

Номер ответа: 6
Автор ответа:
 Dark



Вопросов: 4
Ответов: 41
 Профиль | | #6 Добавлено: 01.05.07 15:44

Public Function PropisChisla(A As String) As String
 Dim Rubli As String, Kop As String, i As Integer, D(3) As String
     If Len(A) < 3 Then GoTo Err_dlina
     i = InStr(A, ",";)
     If i = 0 Then
         Rubli = A
         Kop = "00"
     Else
         Rubli = Left(A, i - 1)
         Kop = Right("0" + Mid(A, i + 1), 2)
     End If
     If Len(Rubli) > 9 Then
 Err_dlina:
         PropisChisla = "Слишком большое (маленькое) число"
         Exit Function
     End If
     If Rubli = "0" Then PropisChisla = "Ноль рублей": GoTo Kopeiki
     Select Case Len(Rubli)
         Case 1 To 3: D(1) = Rubli
         Case 4 To 6
             ;D(1) = Right(Rubli, 3)
             ;D(2) = Left(Rubli, Len(Rubli) - 3)
         Case 7 To 9
             ;D(1) = Right(Rubli, 3)
             ;D(2) = Mid(Rubli, Len(Rubli) - 5, 3)
             ;D(3) = Left(Rubli, Len(Rubli) - 6)
     End Select
     If Val(D(3)) <> 0 Then
         Tmp = D(3)
         GoSub 10
         If Mid(Tmp, 2, 1) <> "1" Then
             GoSub 20
             Select Case Val(Right(Tmp, 1))
                 Case 1: PropisChisla = PropisChisla + " миллион"
                 Case 2 To 4: PropisChisla = PropisChisla + " миллиона"
                 Case Else: PropisChisla = PropisChisla + " миллионов"
             End Select
         Else
             PropisChisla = PropisChisla + " миллионов"
         End If
     End If
     If Val(D(2)) <> 0 Then
         Tmp = D(2)
         GoSub 10
         If Mid(Tmp, 2, 1) <> "1" Then
             Select Case Val(Right(Tmp, 1))
                 Case 1: PropisChisla = PropisChisla + " одна"
                 Case 2: PropisChisla = PropisChisla + " две"
                 Case 3: PropisChisla = PropisChisla + " три"
                 Case 4: PropisChisla = PropisChisla + " четыре"
                 Case 5: PropisChisla = PropisChisla + " пять"
                 Case 6: PropisChisla = PropisChisla + " шесть"
                 Case 7: PropisChisla = PropisChisla + " семь"
                 Case 8: PropisChisla = PropisChisla + " восемь"
                 Case 9: PropisChisla = PropisChisla + " девять"
             End Select
             Select Case Val(Right(Tmp, 1))
                 Case 1: PropisChisla = PropisChisla + " тысяча"
                 Case 2 To 4: PropisChisla = PropisChisla + " тысячи"
                 Case Else: PropisChisla = PropisChisla + " тысяч"
             End Select
         Else
             PropisChisla = PropisChisla + " тысяч"
         End If
     End If
     Tmp = D(1)
     GoSub 10
     If Mid(Tmp, 2, 1) <> "1" Then
         GoSub 20
         Select Case Val(Right(Tmp, 1))
             Case 1: PropisChisla = PropisChisla + " рубль"
             Case 2 To 4: PropisChisla = PropisChisla + " рубля"
             Case Else: PropisChisla = PropisChisla + " рублей"
         End Select
     Else
         PropisChisla = PropisChisla + " рублей"
     End If
 Kopeiki:
     PropisChisla = PropisChisla + " " + Kop
     If Left(Kop, 1) <> "1" Then
         Select Case Val(Right(Kop, 1))
             Case 1: PropisChisla = PropisChisla + " копейка"
             Case 2 To 4: PropisChisla = PropisChisla + " копейки"
             Case Else: PropisChisla = PropisChisla + " копеек"
         End Select
     Else
         PropisChisla = PropisChisla + " копеек"
     End If
     PropisChisla = Trim(PropisChisla)
     i = InStr(PropisChisla, " ";)
     PropisChisla = StrConv(Left(PropisChisla, i - 1), vbProperCase) _
         + Mid(PropisChisla, i)
     Exit Function
 10:
     Tmp = Right("00" + Tmp, 3)
     Select Case Val(Left(Tmp, 1))
         Case 1: PropisChisla = PropisChisla + " cто"
         Case 2: PropisChisla = PropisChisla + " двести"
         Case 3: PropisChisla = PropisChisla + " триста"
         Case 4: PropisChisla = PropisChisla + " четыреста"
         Case 5: PropisChisla = PropisChisla + " пятьсот"
         Case 6: PropisChisla = PropisChisla + " шестьсот"
         Case 7: PropisChisla = PropisChisla + " семьсот"
         Case 8: PropisChisla = PropisChisla + " восемьсот"
         Case 9: PropisChisla = PropisChisla + " девятьсот"
     End Select
     Select Case Val(Mid(Tmp, 2, 1))
         Case 1
             Select Case Val(Right(Tmp, 1))
                 Case 0: PropisChisla = PropisChisla + " десять"
                 Case 1: PropisChisla = PropisChisla + " одиннадцать"
                 Case 2: PropisChisla = PropisChisla + " двенадцать"
                 Case 3: PropisChisla = PropisChisla + " тринадцать"
                 Case 4: PropisChisla = PropisChisla + " четырнадцать"
                 Case 5: PropisChisla = PropisChisla + " пятнадцать"
                 Case 6: PropisChisla = PropisChisla + " шестнадцать"
                 Case 7: PropisChisla = PropisChisla + " семнадцать"
                 Case 8: PropisChisla = PropisChisla + " восемнадцать"
                 Case 9: PropisChisla = PropisChisla + " девятнадцать"
             End Select
         Case 2: PropisChisla = PropisChisla + " двадцать"
         Case 3: PropisChisla = PropisChisla + " тридцать"
         Case 4: PropisChisla = PropisChisla + " сорок"
         Case 5: PropisChisla = PropisChisla + " пятьдесят"
         Case 6: PropisChisla = PropisChisla + " шестьдесят"
         Case 7: PropisChisla = PropisChisla + " семдесят"
         Case 8: PropisChisla = PropisChisla + " восемдесят"
         Case 9: PropisChisla = PropisChisla + " девяносто"
     End Select
     Return
 20:
     Select Case Val(Right(Tmp, 1))
         Case 1: PropisChisla = PropisChisla + " один"
         Case 2: PropisChisla = PropisChisla + " два"
         Case 3: PropisChisla = PropisChisla + " три"
         Case 4: PropisChisla = PropisChisla + " четыре"
         Case 5: PropisChisla = PropisChisla + " пять"
         Case 6: PropisChisla = PropisChisla + " шесть"
         Case 7: PropisChisla = PropisChisla + " семь"
         Case 8: PropisChisla = PropisChisla + " восемь"
         Case 9: PropisChisla = PropisChisla + " девять"
     End Select
     Return
 End Function

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам