 
			
				09.09.2015, 08:26
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 09.09.2015 
					
					
					
						Сообщений: 12
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Еще один калькулятор
			 
			
		
		
		
		Доброго времени суток, в jQuery - ui есть такая штука как .skider().  
В моем варианте, при перемещении ползунка, идет расчет стоимости за 1 человека (за 1 ступень, назовем это так, +=1). Но есть так же понятие скидки. Когда значение уже на 101 ступени, а цена со скидкой уменьшается на 0.2 (то есть не 101, а 100,08). Но есть одно но! За 102 ступень, рассчитывается с 0.2, то есть нужно, чтобы на 102, оно отнимало не 0.2, а уже 0.4, на 103 - 0.6, на 104 - 0.8 и тп. 
 
Так вот сам вопрос, как вот эти целые числа (скидку) правильно реализовать, чтобы за каждый шаг, оно считало цену со скидкой... 
Заранее при много благодарен 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.09.2015, 08:38
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
var a = 0.2, b = 102;
alert(a * (b % 100))
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.09.2015, 08:50
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		а если b = 200?    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.09.2015, 08:58
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		  
function fn(a) {
    return 100 < a ? a - .2 * (a - 100) : a
}
alert([fn(100), fn(103), fn(200)]);
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.09.2015, 09:02
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от рони
			
		
	 | 
 
	| 
		а если b = 200?
	 | 
 
	
 
 Ну да    А лучше уж, зная максимальное значение "хвостика", выделить его маской, а уже далее....  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.09.2015, 09:51
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 09.09.2015 
					
					
					
						Сообщений: 12
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	
		Ну да   А лучше уж, зная максимальное значение "хвостика", выделить его маской, а уже далее....
	 | 
 
	
 
 
максимальное значение вообще 10 000... Оо... 
и есть многомерный массив [ [1, 100], [101, 500], [501, 1000], [1001, 5000], [5001, 10000], [10000] ] 
и вот с него значения брать    
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.09.2015, 09:55
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Ну так брать 1,2,3..., а не сотни и тысячи, или же? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.09.2015, 11:44
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 09.09.2015 
					
					
					
						Сообщений: 12
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	| 
		Ну так брать 1,2,3..., а не сотни и тысячи, или же?
	 | 
 
	
 
 
Тысячи - это количество клиентов... Чего так захотели я не знаю, меня ни кто не спрашивал... 
И при 105 клиентах надо, чтобы цена была не 104.8, а 104... то есть 105 - 0.2*5... 
и вот как правильно вот это считать, 0.2*5, это в этом случае, со 106 - 0.2*6 = 105.8 и тп
 http://codepen.io/Jonson/pen/MawGER
Вот пример  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось gabe, 09.09.2015 в 11:56.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.09.2015, 12:23
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от gabe
			
		
	 | 
 
	| 
		И при 105 клиентах надо, чтобы цена была не 104.8, а 104... то есть 105 - 0.2*5...
	 | 
 
	
 
 а разве в 4 посте не так?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.09.2015, 12:25
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от gabe
			
		
	 | 
 
	| 
		106 - 0.2*6 = 105.8
	 | 
 
	
 
 ой    
function fn(n)
   {
     return n > 100 ? n - (n - 100) *.2 : n
   }
   alert([fn(104),fn(105),fn(106)]);
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |