Перейти к содержимому
Именительный падеж единственного числа: 1 яблоко, 1 рубль, 1 день
Родительный падеж единственного числа: 2 яблока, 3 рубля, 4 дня
Родительный падеж множественного числа: 5 яблок, 10 рублей, 100 дней
Заполните форму — здесь появится результат.

Как считаем

Правило русского склонения: одна / несколько / много

В русском языке существительное после числительного принимает одну из трёх форм. Какая именно — решают последние две цифры числа, а не последняя. Правило одинаково работает для рублей, яблок, дней, километров и любых счётных существительных:

  • Форма 1 (one) — если последняя цифра 1 И последние две цифры не 11. Примеры: 1, 21, 31, 101, 121 — «1 яблоко», «21 яблоко», «121 яблоко».
  • Форма 2–4 (few) — если последняя цифра 2, 3, 4 И последние две цифры НЕ в диапазоне 12–14. Примеры: 2, 3, 4, 22, 23, 24, 102, 103, 104 — «2 яблока», «22 яблока», «103 яблока».
  • Форма 5+ (many) — все остальные случаи: 0, 5–20, 25–30, 35… — «0 яблок», «5 яблок», «11 яблок», «25 яблок», «100 яблок».

Главная ловушка — числа 11, 12, 13, 14: они всегда идут с формой «много», несмотря на то что заканчиваются на 1, 2, 3, 4. Именно поэтому в формуле проверяются последние ДВЕ цифры: 111 яблок, 112 яблок, 113 яблок, 114 яблок — все «яблок», а не «яблоко/яблока».

Формула mod10/mod100 и её применение

Стандартный алгоритм (совпадает с реализацией i18n-библиотек — Intl.PluralRules, ICU, gettext-плюрал для русского):

mod10  = n % 10
mod100 = n % 100

if mod10 === 1 && mod100 !== 11:      → one
elif 2 ≤ mod10 ≤ 4 && (mod100 < 12 || mod100 > 14): → few
else:                                 → many

Применяется во всех крупных веб-фреймворках (Django trans, i18next, angular-translate). Тот же расчёт стоит внутри нашего счётчика символов для строк «21 символ», «22 символа», «25 символов» — но там три формы зашиты в код («символ/символа/символов»). Здесь формы приходят пользовательским вводом — это делает калькулятор универсальным: подставляйте любое существительное.

Знак числа не влияет на форму: -21 склоняется так же, как 21 — «яблоко». Дробные числа не поддерживаются: склонение работает только для целых («2 яблока» есть, «2,5 яблок» — нонсенс).

Особые случаи: рубли, дни, тысячи

Валюты — самый частый сценарий. Для рублей: «1 рубль», «2 рубля», «5 рублей». Для копеек: «1 копейка», «2 копейки», «5 копеек» (женский род — формы отличаются: если бы это были «доллары», формы были бы мужского рода). Для долларов: «1 доллар», «2 доллара», «5 долларов». Для евро — не склоняется вовсе: «1 евро», «2 евро», «5 евро». Норма закреплена в академических словарях. В договорах сумма дублируется цифрой и прописью — калькулятор суммы прописью сам поставит правильные формы «рубль/рубля/рублей».

Дни и часы: «1 день», «2 дня», «5 дней»; «1 час», «2 часа», «5 часов»; «1 минута», «2 минуты», «5 минут»; «1 секунда», «2 секунды», «5 секунд». Для расчёта разницы дат воспользуйтесь калькулятором дней между датами — там формулы уже встроены.

Некоторые слова имеют одну форму для всех числительных: «100 такси», «5 кофе», «10 евро», «20 пальто» — несклоняемые существительные иностранного происхождения. Для них можно ввести одинаковые значения во все три поля — калькулятор выдаст правильный результат независимо от числа.

Частые вопросы

Как правильно: 21 год или 21 лет?

21 год — существительное согласуется по последней цифре числа. Правило: если оканчивается на 1 (кроме 11) — единственное число именительного падежа: 1 год, 21 год, 101 год. Оканчивается на 2, 3, 4 (кроме 12–14) — родительный единственного: 22 года, 33 года. На 0, 5–9 и на 11–14 — родительный множественного: 5 лет, 11 лет, 25 лет, 100 лет. Слово «год» здесь меняется на «лет» — это отдельная лексическая замена.

Как склонять существительное с числами, оканчивающимися на 11–14?

Числа от 11 до 14 — всегда родительный падеж множественного числа, независимо от последней цифры. 11 рублей, 12 рублей, 13 рублей, 14 рублей — не «рубля» и не «рубль». Правило распространяется на любое число с этим окончанием: 111, 213, 1014, 2013 — все идут с формой множественного родительного. Это исключение из правила «по последней цифре»: 21 рубль, но 111 рублей. Если нужно записать сумму словами полностью, используйте сумма прописью.

Почему пишется «22 рубля», а не «22 рублей»?

22 оканчивается на 2, а числа с последней цифрой 2, 3, 4 (кроме 12–14) требуют родительного падежа единственного числа. Отсюда: 22 рубля, 23 рубля, 24 рубля, 33 рубля, 104 рубля. Форма «рублей» — это родительный множественного, который используется для чисел с последней цифрой 0, 5, 6, 7, 8, 9 и для 11–14: 5 рублей, 20 рублей, 25 рублей, 100 рублей. Правило работает для любого исчисляемого существительного: 22 яблока, 22 человека, 22 дня.

Как автоматизировать склонение в шаблонах письма клиенту?

В email-рассылках, SMS и уведомлениях подставляйте склонённую пару через функцию-плюрализатор: на вход число и три формы («день», «дня», «дней»), на выходе — правильный вариант. В Python это pymorphy3.MorphAnalyzer().parse() плюс метод make_agree_with_number(n). В JavaScript — библиотека plural-ru или самописная функция на 15 строк по правилу остатка от деления на 10 и 100. Онлайн-калькулятор выше как раз показывает эту логику вживую — можно скопировать нужную пару в текст письма.

В чём разница между «5 яблок» и «пять яблок» — цифрой или прописью?

Смысл одинаковый, различие стилистическое. По ГОСТ 7.89 и правилам русского делового письма цифрой пишут числа от 10 и больше, а также любые числа с единицами измерения: 5 кг, 3 %. Прописью — числа от 1 до 9 без единиц и в начале предложения: «Пять яблок лежали на столе», но «В корзине 15 яблок». В художественном тексте прописью пишут любые числа до сотни. В юридических документах суммы дублируют: цифрой + прописью — 15 000 ₽ (пятнадцать тысяч рублей). Для второго варианта пригодится сумма прописью.

Как склонять существительное после дробного числа — «1,5 часа» или «1,5 часов»?

После дробного числа существительное всегда стоит в родительном падеже единственного числа: 1,5 часа, 2,5 километра, 3,7 рубля, 10,5 процента. Не «часов» и не «часы». Правило действует независимо от целой части: и 0,5 часа, и 25,5 часа. Логика: слово согласуется с дробной частью, а «одна пятая», «две десятых» грамматически требуют родительного единственного. Исключение — целое число с половиной пишется через слово «с половиной»: 2 часа с половиной, тогда согласование идёт по числу 2. Оценить количество знаков в готовой фразе можно в счётчике символов.