Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.08.2011, 15:23
Аспирант
Отправить личное сообщение для uExpo Посмотреть профиль Найти все сообщения от uExpo
 
Регистрация: 05.07.2011
Сообщений: 87

Подскажите склонение слов
Подскажите как можно склонять слова?

...
1 пользователь
2 пользователя
5 пользователей
...
Ответить с цитированием
  #2 (permalink)  
Старый 25.08.2011, 15:29
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

http://nano.yandex.ru/project/inflect/
Ответить с цитированием
  #3 (permalink)  
Старый 25.08.2011, 15:31
Аспирант
Отправить личное сообщение для uExpo Посмотреть профиль Найти все сообщения от uExpo
 
Регистрация: 05.07.2011
Сообщений: 87

Мне бы на пример простой на JS
Ответить с цитированием
  #4 (permalink)  
Старый 25.08.2011, 15:32
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

вас в гугле забанили?

//склонение окончаний
function declension(num, expressions) {
    var result;
    count = num % 100;
    if (count >= 5 && count <= 20) {
        result = expressions['2'];
    } else {
        count = count % 10;
        if (count == 1) {
            result = expressions['0'];
        } else if (count >= 2 && count <= 4) {
            result = expressions['1'];
        } else {
            result = expressions['2'];
        }
    }
    return result;
}

alert ( declension(1, ['пользователь','пользователя','пользователей'])  );
alert ( declension(2, ['пользователь','пользователя','пользователей'])  );
alert ( declension(5, ['пользователь','пользователя','пользователей'])  );
Ответить с цитированием
  #5 (permalink)  
Старый 25.08.2011, 15:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Вы хотите склонять произвольные слова?
Ответить с цитированием
  #6 (permalink)  
Старый 25.08.2011, 15:37
Аспирант
Отправить личное сообщение для uExpo Посмотреть профиль Найти все сообщения от uExpo
 
Регистрация: 05.07.2011
Сообщений: 87

Kolyaj,

1 пользователь
2 пользователя
5 пользователей
Ответить с цитированием
  #7 (permalink)  
Старый 25.08.2011, 15:41
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Ну тогда вам написали решение.
Ответить с цитированием
  #8 (permalink)  
Старый 25.08.2011, 17:07
Аватар для kukuyok
Интересующийся
Отправить личное сообщение для kukuyok Посмотреть профиль Найти все сообщения от kukuyok
 
Регистрация: 11.09.2010
Сообщений: 23

Насколько применимо вообще - не знаю, но задачу, под которую писал, функция решила:
function sklon(num, basic, ed, do4, posle5)
// (число, основа, окончание для ед.ч., для NNN2...NNN4, NNN5...NNN0)
{
	var slovco = basic;
	if(num-Math.floor(num) != 0) slovco += do4;
	else
	{
		//не знаю лучшего способа для обрезания :)
		var sht;
		if(num>=100)
		{
			sht = num*0.01;
			sht = Math.round(sht);
			sht = num - sht*100;
		}
		else	sht = num;	
		
		if(sht>=5 && sht<=20) slovco+=posle5;
		else
		{
			if(sht%10 == 1) slovco+=ed;
			else
			{
				if(sht%10 > 4) slovco+=posle5;			
				else
				{
					if(sht%10 == 0) slovco+=posle5;
					else
					{
						slovco+=do4;
					}
				}
			}
		}
	}
	return slovco;
}

for(var i=0; i<=1001; i++)
{
	var word = sklon(i, 'пользовател', 'ь', 'я', 'ей');
	alert(i+' '+word);
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подскажите, как сделать индикатор «до начала загрузки страницы»? SergAG Элементы интерфейса 7 31.05.2011 19:53
Подскажите функцию =) qwermjk Серверные языки и технологии 4 20.10.2010 08:39
Подсчет количества слов в поле формы. Guranin Общие вопросы Javascript 7 10.08.2009 13:35
Замена слов в тексте Dan T Общие вопросы Javascript 8 18.03.2009 12:36
добавление окошка в скрипт подсчета слов Гость Общие вопросы Javascript 10 11.03.2008 17:07