Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   осталось ххх день/дня/дней (http://www.flasher.ru/forum/showthread.php?t=68709)

FireHawK 03.09.2005 12:17

осталось ххх день/дня/дней
 
у меня есть скрипт расчитывающий скока дней осталось до конца подписки. (но это не важно).-- например -- осталось 102 дней.-- согласитесь не звучит - дней. нужно замутить :) проверку на окончание числа. тоесть хх1 - день
хх2-хх4 -- дня
хх5-хх0 -- дней.

с чего начать и ваще принимаю любую помосч :)). спасибо заранее.

dilsh 03.09.2005 14:35

пишешь
запоминаешь последнюю цифру в допустим k
типа k=((mynum/10)-Math.floor(mynum/10)))*10;
if(k==1) str="день"
else if (k>1 and k<5) str="дня" else str="дней"
и все
не проверял, но идея думаю понятна

Iv 03.09.2005 18:07

Number.prototype.addSuffix = function(word, nul, one, two) {
var n = this%100;
n = n>20 ? n%10 : n;
return word+((n>4 || n == 0) ? nul : (n == 1) ? one : two);
};
ASSetPropFlags(Number.prototype, "addSuffix", 7, 1);
// TEST
for (this.num=33; this.num>=0; this.num--) {
trace(this.num.addSuffix("остал", "ось", "ся", "ось")+" "+this.num+" "+num.addSuffix("", "дней", "день", "дня"));
}

Iv 03.09.2005 18:09

поясню:
word - неизменяемая часть слова.
nul - остаток слова при значении цифры равном 0
one - остаток слова при значении цифры равном 1
two - остаток слова при значении цифры равном 2


Часовой пояс GMT +4, время: 23:27.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.