HelpF.pro

Функция преобразует строку к множественному числу (Пример: 3 шкафа)

Код 1C v 8.х
  // Параметры функции: 
// Слово1 - форма слова в ед числе ("шкаф")
// Слово2 - форма слова для числит 2-4 ("шкафа")
// Слово3 - форма слова для числит 5-10 ("шкафов")
// ЦелоеЧисло - целое число
//
// Возвращаемое значение:
// строку - одну из строк в зависимости от параметра ЦелоеЧисло
//
// Описание:
// Предназначена для формирования "правильной" подписи к числительным
//
Функция ФормаМножественногоЧисла(Слово1, Слово2, Слово3, Знач ЦелоеЧисло) Экспорт

// Изменим знак целого числа, иначе отрицательные числа будут неправильно преобразовываться
Если ЦелоеЧисло < 0 Тогда
ЦелоеЧисло = -1 * ЦелоеЧисло;
КонецЕсли;

Если ЦелоеЧисло <> Цел(ЦелоеЧисло) Тогда
// для нецелых чисел - всегда вторая форма
Возврат Слово2;
КонецЕсли;

// остаток
Остаток = ЦелоеЧисло%10;
Если (ЦелоеЧисло >10) И (ЦелоеЧисло<20) Тогда
// для второго десятка - всегда третья форма
Возврат Слово3;
ИначеЕсли Остаток=1 Тогда
Возврат Слово1;
ИначеЕсли (Остаток>1) И (Остаток<5) Тогда
Возврат Слово2;
Иначе
Возврат Слово3;
КонецЕсли;

КонецФункции

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/192.html