powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Просклонять слово минуты
25 сообщений из 45, страница 1 из 2
Просклонять слово минуты
    #39676348
Rphoenix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте. Если есть переменная Integer (00-60), при которой || ' минут'. То как просклонять в зависимости от цифры слово "минут"?
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676353
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо, тут программист нужен
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676355
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Необязательно - можно просто сократить слово.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676362
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rphoenix,

Делаешь case и пишешь туда все возможные варианты. Или в хранимке. Или на клиенте. По-английски вообще просто.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676417
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мин.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676609
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ровно также, как слово "рубль" в алгоритмах суммы прописью. Этих алгоритмов, как с массивами, так и с CASE тьма тьмущая.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676625
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
case
  when minutes between 5 and 20 then 'минут'
  when mod(minutes, 10) = 1 then 'минута'
  when mod(minutes, 10) between 2 and 4 then 'минуты'
  else 'минут'
end
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676635
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery, ты забыл про teen исключения - between 11 and 19.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676643
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery, в том плане, что мы не знаем какое значение может принимать переменная, содержащая минуты. Там вполне может быть более 100 минут.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676647
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rdb_dev,

Автор чётко поставил задачу.
Ну ладно, пусть будет для любого целого.

Код: sql
1.
2.
3.
4.
5.
6.
case
  when mod(minutes, 100) between 5 and 20 then 'минут'
  when mod(minutes, 10) = 1 then 'минута'
  when mod(minutes, 10) between 2 and 4 then 'минуты'
  else 'минут'
end
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676652
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery,

вот только хотел посоветовать тебя дождаться, уж ты точно не вытерпишь

зы. может, после этого сообщения добавить еще пост с линками на наиболее частые подобные вопросы?
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676668
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyМин.+1.
А еще лучше - min.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676672
rdb_dev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryrdb_dev,

Автор чётко поставил задачу.У меня как обычно - глаза на ж...

З.Ы. С утра от жары бошка раскалывается и таблетка не помогает.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676683
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Док,

Что-то сомневаюсь, что будет польза.
Туда всё равно никто не смотрит, а поиск по ключевым словам по форуму нормально работает.

Щас даже вот это нашёл. Уже и забыл про него.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676698
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryАвтор чётко поставил задачу.



Автор сказал "просклонять"
А тут только именительный падеж.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676699
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183,

Т.к. "просклонять от цифры" нельзя, а только от падежа, то автокоррекция срабатывает как "указать правильное окончание".
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676700
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отжеж вредный народ. Нет чтобы спасибо сказать.
Ну ждите теперь все падежи для каждого случая...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676702
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery> Т.к. "просклонять от цифры" нельзя, а только от падежа

Тут даже я не понял. 37 минутами. 41 минутой.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676707
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,

И как же падёж у тебя зависит от цифры?
Для указания падежа, как минимум, ещё один параметр нужен - сам падёж.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676713
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для русского (для других языков может быть не три варианта!)
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
// http://localization-guide.readthedocs.org/en/latest/l10n/pluralforms.html
type
  TPluralForm = 0..2;

function GetPluralForm(Number: Integer): TPluralForm;
begin
  if ( (Number mod 10 = 1) and (Number mod 100 <> 11) ) then
    Result := 0
  else if (Number mod 10 in [2..4]) and
          ( (Number mod 100 < 10) or (Number mod 100 >= 20) ) then
    Result := 1
  else
    Result := 2;
end;
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676717
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Без 1 минуты.
Подожди 1 минуту.
Прошла 1 минута.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676725
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Без 1 минуты.
Подожди 1 минуту.
Прошла 1 минута.Жуть.
Я ещё могу понять лентяев, у которых пальцы не шевелятся, но, блин, заменять числительные числами - кошмарный кошмар.
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676728
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery> Для указания падежа, как минимум, ещё один параметр нужен - сам падёж.

Падёж бывает у скота. Теоретически возможно 6 падежей,
а как их CASE-ить, через CASE padej 1..6 или ещё как - не суть.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676730
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov> Я ещё могу понять лентяев, у которых пальцы не шевелятся,
Basil A. Sidorov> но, блин, заменять числительные числами - кошмарный кошмар.

Странная логика. Ну давай, 0,14285714285714285714285714285714 прописью.
Только чур сам, а не через программу.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Просклонять слово минуты
    #39676733
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё лучше 0,043478260869565217391304347826087 - тут цикл длиннее. :)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 45, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Просклонять слово минуты
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]