Просмотр полной версии : Вывод правильных окончаний слов
Доброго времяни суток! Подскажите кто сколько сможет! Какой код нужен для правельных окончаний в слове "день" при отсчёте дней!
(Пример: 1 день, 2 дня, 5 дней, 21 день...)
DarkLight
22.07.2007, 17:02
делаем числу %10, смотрим на результат и с помощью условного оператора выводим нужное слово
Думаю, это не оптимально! Просто я програмировать только начал! Может если перевести числовую переменную, которая отвечает за колличество дней, в строковую, вычислить последний эллемент, поставить условия для определённого строкового эллемента и индивидульные условя для чисел от 11 до 19, будет ли этот вариант самым оптимальным!?
делаем условие для 1, 2, 3, 4. В остальных случаях "дней". Еще зависит от того, как именно будет вестись отсчет дней, т.е. как он реализован в коде. Все просто на самом деле.
var suffix:Array = ["дней", "день", "дня"];
function getSuffix (num:Number):String {
var str:String = String (num).substr (-1, 1);
if (str == "1" && num != 11) {
return suffix[1];
} else if ((str == "2" || str == "3" || str == "4") && num != 12 && num != 13 && num != 14) {
return suffix[2];
} else {
return suffix[0];
}
}
for (var i:Number = 0; i < 50; i++) {
trace (i + " " + getSuffix (i));
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.