Показать сообщение отдельно
  #1 (permalink)  
Старый 01.04.2013, 20:41
Профессор
Отправить личное сообщение для qwermjk Посмотреть профиль Найти все сообщения от qwermjk
 
Регистрация: 31.01.2010
Сообщений: 229

Смена окончания при подсчёте
Может кому нибудь из читающих форум, будет интересен скриптик!!
При подсчёте чегонибудь, допустим, яблок ... мы меняем окончание когда произносим: 1 яблоко, 2 яблока, 5 яблок ...
function wordend(number, word, end1, end2, end3){
	if(Number(String(number).length) > 2) number = Number(String(number).substr(-2));
	if(number == 11 || number == 12 || number == 13 || number == 14){
		return word+end3;
	} else {
		switch(Number(String(number).substr(-1))){
			case 1: return word+end1; break;
			case 2:case 3:case 4: return word+end2; break;
			case 5:case 6:case 7:case 8:case 9:case 0: return word+end3; break;
		}
	}
}

alert(111+' '+wordend(111, 'став', 'ка', 'ки', 'ок'));
alert(1+' '+wordend(1, 'яблок', 'о', 'а', ''));
alert(5+' '+wordend(5, 'секунд', 'а', 'ы', ''));
Ответить с цитированием