Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
virainf
Зарегистрирован: 15.01.2009 Сообщения: 58
|
Добавлено: Пн Июн 15, 2009 10:58 am Заголовок сообщения: Количество прописью. |
|
|
Можно ли написать количество прописью? Spell только целые пишет, а нужно не только целые... |
|
Вернуться к началу |
|
 |
olimp Site Admin
Зарегистрирован: 10.03.2005 Сообщения: 2661
|
Добавлено: Пн Июн 15, 2009 11:43 am Заголовок сообщения: Re: Количество прописью. |
|
|
virainf писал(а): | Можно ли написать количество прописью? Spell только целые пишет, а нужно не только целые... |
см. SpellMoney, SpellMoney2 |
|
Вернуться к началу |
|
 |
virainf
Зарегистрирован: 15.01.2009 Сообщения: 58
|
Добавлено: Пн Июн 15, 2009 12:18 pm Заголовок сообщения: |
|
|
Там валюта  |
|
Вернуться к началу |
|
 |
olimp Site Admin
Зарегистрирован: 10.03.2005 Сообщения: 2661
|
Добавлено: Пн Июн 15, 2009 12:26 pm Заголовок сообщения: |
|
|
virainf писал(а): | Там валюта  |
А посмотреть описание слабо ? :)
MsgBox SpellMoney(123.45)
MsgBox spellmoney2(123.45, "0||||0|||", 1, 1) |
|
Вернуться к началу |
|
 |
virainf
Зарегистрирован: 15.01.2009 Сообщения: 58
|
Добавлено: Пн Июн 15, 2009 12:26 pm Заголовок сообщения: |
|
|
Но можно что-то придумать) |
|
Вернуться к началу |
|
 |
virainf
Зарегистрирован: 15.01.2009 Сообщения: 58
|
Добавлено: Пн Июн 15, 2009 1:06 pm Заголовок сообщения: |
|
|
olimp писал(а): | virainf писал(а): | Там валюта  |
А посмотреть описание слабо ? :)
MsgBox SpellMoney(123.45)
MsgBox spellmoney2(123.45, "0||||0|||", 1, 1) |
Не понял, простите
Мне надо, на пример, "Сто двадцать три т. триста кг." Как??? |
|
Вернуться к началу |
|
 |
OlegA
Зарегистрирован: 24.10.2007 Сообщения: 15
|
Добавлено: Пн Июн 15, 2009 2:51 pm Заголовок сообщения: Re: Количество прописью. |
|
|
virainf писал(а): | Можно ли написать количество прописью? Spell только целые пишет, а нужно не только целые... |
Попробуй это
Dim Qty
Dim Str
Qty = 12.01
'первая часть
Str = Replace(Spell(Token( (Replace(Qty ,".",",")),1),0,2),"-"," ") &"т. "
'Вторая часть
If (Token(Replace(FormatNumber(Qty,2),".",","),2)) > 0 Then
Str = Str & Spell(Token(Replace(FormatNumber(Qty,2),".",","),2)) & "кг"
End If
MsgBox Str |
|
Вернуться к началу |
|
 |
olimp Site Admin
Зарегистрирован: 10.03.2005 Сообщения: 2661
|
Добавлено: Пн Июн 15, 2009 3:27 pm Заголовок сообщения: |
|
|
virainf писал(а): | olimp писал(а): | virainf писал(а): | Там валюта  |
А посмотреть описание слабо ? :)
MsgBox SpellMoney(123.45)
MsgBox spellmoney2(123.45, "0||||0|||", 1, 1) |
Не понял, простите
Мне надо, на пример, "Сто двадцать три т. триста кг." Как??? |
Можно использовать SpellMoney2, вместо "грн." и "коп" писать "т" и "кг", но обязательно писать в тоннах
Например
123567 кг
msgbox spellmoney2( 123.567, "0|т.|т.|т.|0|кг.|кг.|кг.", 1, 1) |
|
Вернуться к началу |
|
 |
virainf
Зарегистрирован: 15.01.2009 Сообщения: 58
|
Добавлено: Вт Июн 16, 2009 7:20 am Заголовок сообщения: |
|
|
olimp писал(а): |
Можно использовать SpellMoney2, вместо "грн." и "коп" писать "т" и "кг", но обязательно писать в тоннах
Например
123567 кг
msgbox spellmoney2( 123.567, "0|т.|т.|т.|0|кг.|кг.|кг.", 1, 1) |
spellmoney2 округляет всегда до 2-х знаков после точки и выйдет "Сто двадцать три т. пятьдесят семь кг."  |
|
Вернуться к началу |
|
 |
olimp Site Admin
Зарегистрирован: 10.03.2005 Сообщения: 2661
|
Добавлено: Вт Июн 16, 2009 8:28 am Заголовок сообщения: |
|
|
virainf писал(а): | olimp писал(а): |
Можно использовать SpellMoney2, вместо "грн." и "коп" писать "т" и "кг", но обязательно писать в тоннах
Например
123567 кг
msgbox spellmoney2( 123.567, "0|т.|т.|т.|0|кг.|кг.|кг.", 1, 1) |
spellmoney2 округляет всегда до 2-х знаков после точки и выйдет "Сто двадцать три т. пятьдесят семь кг."  |
Ну слепите из двух spellmoney2. Вначале тонны, потом килограммы. |
|
Вернуться к началу |
|
 |
virainf
Зарегистрирован: 15.01.2009 Сообщения: 58
|
Добавлено: Вт Июн 16, 2009 10:33 am Заголовок сообщения: |
|
|
olimp писал(а): |
Ну слепите из двух spellmoney2. Вначале тонны, потом килограммы. |
Если лепить, то можно и Spell обойтись... |
|
Вернуться к началу |
|
 |
olimp Site Admin
Зарегистрирован: 10.03.2005 Сообщения: 2661
|
Добавлено: Вт Июн 16, 2009 10:36 am Заголовок сообщения: |
|
|
virainf писал(а): | olimp писал(а): |
Ну слепите из двух spellmoney2. Вначале тонны, потом килограммы. |
Если лепить, то можно и Spell обойтись... |
Не думаю, что код
Spell... & " " & Spell ...
проще, чем писать собственную функцию, которая будет возвращать число прописью именно так, как нужно Вам. |
|
Вернуться к началу |
|
 |
alex
Зарегистрирован: 18.02.2008 Сообщения: 253
|
Добавлено: Вт Июн 16, 2009 11:06 am Заголовок сообщения: |
|
|
Раздели число нацело не 1000. Это будут тонны. Остаток от деления (число по модулю) это будут килограммы. Затем два Spell и все. Так можно делать что угодно.
Например
Число / 3600 = часы, остаток / 60 = минуты, остаток = секунды. |
|
Вернуться к началу |
|
 |
virainf
Зарегистрирован: 15.01.2009 Сообщения: 58
|
Добавлено: Ср Июн 17, 2009 7:36 am Заголовок сообщения: |
|
|
olimp писал(а): |
Не думаю, что код
Spell... & " " & Spell ...
проще, чем писать собственную функцию, которая будет возвращать число прописью именно так, как нужно Вам. |
Я так и сделал - написал функцию, где есть Цитата: | Spell... & " " & Spell ... |
Всем спасибо!) |
|
Вернуться к началу |
|
 |
|