|
Склонение чисел
|
|||
---|---|---|---|
#18+
Никак немогу просклонять числа, т.е "Рубль, рубля, рублей" и.т.д. Помогите пожалуйста создать условие. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2004, 16:11 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
Скачай решение http://www.foxclub.ru/sol/index.php?act=view&id=251 И посмотри как там это реализовано ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2004, 16:29 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
ВладимирМ, передаю число 100 этой ФУНКЦИИ, а она мне выдаёт "Ноль рублей 00 копеек", и так со всеми числами!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2004, 16:48 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
Это может быть, только в том случае, если ты передал не число, а строку. Надо передавать параметр примерно так: ?Money2str(100) Т.е. параметр должен быть НЕ в кавычках. Если бы ты посмотрел сам код, то увидел бы, что первыми командами идет проверка корректности переданных параметров. Если передается не числовое значение, то считается, что передали 0, чтобы не было сообщений об ошибках. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2004, 16:56 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
может это можно доработать ? function (nn) do case case int(nn%10)=1 and (nn%100<10 or nn%100>20) return 'рубль' case int(nn%10)=2,3,4 and (nn%100<10 or nn%100>20) return 'рубля' otherwise return 'рублей' endcase ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2004, 17:03 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
ВладимирМЭто может быть, только в том случае, если ты передал не число, а строку. Надо передавать параметр примерно так: ?Money2str(100) Т.е. параметр должен быть НЕ в кавычках. Если бы ты посмотрел сам код, то увидел бы, что первыми командами идет проверка корректности переданных параметров. Если передается не числовое значение, то считается, что передали 0, чтобы не было сообщений об ошибках. Да, я ошибся ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2004, 17:17 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
leafможет это можно доработать ? function (nn) do case case int(nn%10)=1 and (nn%100<10 or nn%100>20) return 'рубль' case int(nn%10)=2,3,4 and (nn%100<10 or nn%100>20) return 'рубля' otherwise return 'рублей' endcase Наверное можно, сейчас буду смотреть, спасибо Всем ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2004, 17:18 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
HalK2, Применила money2str, преобразует правильно, только вот не пойму как убрать вывод копеек. Выводит "сто рублей 00 копеек" ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 09:10 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
НадеждаМПрименила money2str, преобразует правильно, только вот не пойму как убрать вывод копеек. Выводит "сто рублей 00 копеек" Данной процедурой это не предусмотрено. Это Вы должны сделать сами. Либо модифицируйте код преобразования, чтобы просто отсечь копейки (фрагмент IF m.lnI=6 ... ENDIF), либо удаляйте "хвост" после преобразования (найти "00" и удалить до конца) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 10:25 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
ВладимирМ, substr-ом? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 11:00 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
Извратилась вот таким способом в отчете: substr(money2str(int(splat)),1,len(money2str(int(splat)))-(len(money2str(int(splat)))-at(' 00 копеек',alltrim(money2str(int(splat)))))) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 11:27 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
только int() не надо ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 11:30 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
НадеждаМИзвратилась вот таким способом в отчете: substr(money2str(int(splat)),1,len(money2str(int(splat)))-(len(money2str(int(splat)))-at(' 00 копеек',alltrim(money2str(int(splat)))))) Надежда, там вторым параметром в функции money2str ноль добавить - он сам отрежет копейки. Зачем изващатся, если в функции это реализовано... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 11:41 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
Для версии VFP7 и старше Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 11:42 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
money2str(int(splat), 0) даст тот же вариант, что и с substr, может я ошибаюсь, но у меня все проходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 11:43 |
|
Склонение чисел
|
|||
---|---|---|---|
#18+
MAYAKOV_SVНадежда, там вторым параметром в функции money2str ноль добавить - он сам отрежет копейки. Зачем изващатся, если в функции это реализовано... Да, действительно, если второй параметр меньше или равен 0, то копейки не отображаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.05.2011, 11:45 |
|
|
start [/forum/topic.php?fid=41&fpage=75&tid=1584385]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
27ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 143ms |
0 / 0 |