![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jul 2007
Сообщений: 42
|
Доброго времяни суток! Подскажите кто сколько сможет! Какой код нужен для правельных окончаний в слове "день" при отсчёте дней!
(Пример: 1 день, 2 дня, 5 дней, 21 день...) |
|
|||||
|
ветеран форума
|
делаем числу %10, смотрим на результат и с помощью условного оператора выводим нужное слово
__________________
4am is time to rock |
|
|||||
|
Регистрация: Jul 2007
Сообщений: 42
|
Думаю, это не оптимально! Просто я програмировать только начал! Может если перевести числовую переменную, которая отвечает за колличество дней, в строковую, вычислить последний эллемент, поставить условия для определённого строкового эллемента и индивидульные условя для чисел от 11 до 19, будет ли этот вариант самым оптимальным!?
|
|
|||||
|
Banned
Регистрация: Jul 2007
Сообщений: 92
|
делаем условие для 1, 2, 3, 4. В остальных случаях "дней". Еще зависит от того, как именно будет вестись отсчет дней, т.е. как он реализован в коде. Все просто на самом деле.
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
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));
}
|
![]() |
![]() |
Часовой пояс GMT +4, время: 04:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|