
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
29.07.2005, 19:32:13
|
|||
|---|---|---|---|
|
|||
Visual Basic Цифры - прописью, Помогите избавиться от "рублей" |
|||
|
#18+
Помогите пожалуйста избавиться от "рублей и копеек" Нужно только описание цифр, (пример: 345 - тристо сорок пять) Function ПРОПИСЬЮ(SourceDigits As Currency) As String Dim STRNG As String, CHAR, Result As String, Prom As String Dim i, STRNG_len As Long Dim SourceDigTail As Currency SourceDigTail = (SourceDigits - Int(SourceDigits)) * 100 SourceDigits = Int(SourceDigits) STRNG = SourceDigits STRNG_len = Len(STRNG) For i = 1 To 9 - STRNG_len Step 1 STRNG = "0" & STRNG Next i For i = 9 To 9 - STRNG_len + 1 Step -1 CHAR = Mid(STRNG, i, 1) If CHAR = "" Then GoTo end_c If i = 2 Or i = 5 Or i = 8 Then If CHAR = "1" Then CHAR = Mid(STRNG, i, 2) Select Case CHAR Case "10" Prom = "десять " Case "11" Prom = "одиннадцать " Case "12" Prom = "двенадцать " Case "13" Prom = "тринадцать " Case "14" Prom = "четырнадцать " Case "15" Prom = "пятнадцать " Case "16" Prom = "шестнадцать " Case "17" Prom = "семьнадцать " Case "18" Prom = "восемьнадцать " Case "19" Prom = "девятнадцать " End Select Else ' If char Not = 1 Select Case CHAR Case "0" Prom = "" Case "2" Prom = "двадцать " Case "3" Prom = "тридцать " Case "4" Prom = "сорок " Case "5" Prom = "пятьдесят " Case "6" Prom = "шестьдесят " Case "7" Prom = "семьдесят " Case "8" Prom = "восемьдесят " Case "9" Prom = "девяносто " End Select End If End If If i = 1 Or i = 4 Or i = 7 Then Select Case CHAR Case "0" Prom = "" Case "1" Prom = "сто " Case "2" Prom = "двести " Case "3" Prom = "триста " Case "4" Prom = "четыреста " Case "5" Prom = "пятьсот " Case "6" Prom = "шестьсот " Case "7" Prom = "семьсот " Case "8" Prom = "восемьсот " Case "9" Prom = "девятьсот " End Select End If If i = 3 Or i = 6 Or i = 9 Then If i = 9 And Mid(STRNG, i - 1, 1) = "1" Then Result = "рублей " & Result GoTo end_c End If If i = 3 And Mid(STRNG, i - 1, 1) = "1" Then Result = "миллионов " & Result GoTo end_c End If If i = 6 And Mid(STRNG, i - 1, 1) = "1" Then Result = "тысяч " & Result GoTo end_c End If Select Case CHAR Case "0" Prom = "" Case "1" If i = 6 Then Prom = "одна " Else Prom = "один " End If Case "2" If i = 6 Then Prom = "две " Else Prom = "два " End If Case "3" Prom = "три " Case "4" Prom = "четыре " Case "5" Prom = "пять " Case "6" Prom = "шесть " Case "7" Prom = "семь " Case "8" Prom = "восемь " Case "9" Prom = "девять " End Select End If Select Case i Case 3 Select Case CHAR Case "1" Result = "миллион " & Result Case "2", "3", "4" Result = "миллиона " & Result Case "5", "6", "7", "8", "9" Result = "миллионов " & Result Case "0" If STRNG_len > 6 Then Result = "миллионов " & Result End If End Select Case 6 Select Case CHAR Case "1" Result = "тысячa " & Result Case "2", "3", "4" Result = "тысячи " & Result Case "5", "6", "7", "8", "9" Result = "тысяч " & Result Case "0" If STRNG_len > 3 Then Result = "тысяч " & Result End If End Select Case 9 Select Case CHAR Case "1" Result = "рубль " & Result Case "2", "3", "4" Result = "рубля " & Result Case "0", "5", "6", "7", "8", "9" Result = "рублей " & Result End Select End Select Result = Prom & Result end_c: Next i Result = Format(Mid(Result, 1, 1), ">") & Mid(Result, 2) ПРОПИСЬЮ = Result & Format(SourceDigTail, "00") & " коп." End Function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.07.2005, 20:09:39
|
|||
|---|---|---|---|
Visual Basic Цифры - прописью, Помогите избавиться от "рублей" |
|||
|
#18+
не используй русские буквы в названии ф-ций. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
29.07.2005, 23:21:41
|
|||
|---|---|---|---|
|
|||
Visual Basic Цифры - прописью, Помогите избавиться от "рублей" |
|||
|
#18+
big-duke спасибо, но работает с небольшой проблемой. Во первых числа с 11 до 19 пишет в два слова (пример: 11 одинадцать один), Во вторых два ноля в конце тоже не особо нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.07.2005, 00:46:50
|
|||
|---|---|---|---|
Visual Basic Цифры - прописью, Помогите избавиться от "рублей" |
|||
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.07.2005, 12:40:04
|
|||
|---|---|---|---|
Visual Basic Цифры - прописью, Помогите избавиться от "рублей" |
|||
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
30.07.2005, 12:46:03
|
|||
|---|---|---|---|
Visual Basic Цифры - прописью, Помогите избавиться от "рублей" |
|||
|
#18+
зы А ваще по большому счету надо взять прогу DKMS(это ее автор) и выложить ее в фак.Я ей уже года два пользуюсь, заточил по евро и род безденежный формат. в общем вещь дельная. а то млин продолжаем изобретение мопеда. тоак вот не знаю куда положить ? в васик или офис ? вот это чудо а общем the best тем более что автор не против ее модификации и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&mobile=1&tid=2167418]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 325ms |

| 0 / 0 |
