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,121
|
|
а если b = 200?
|
|
09.09.2015, 08:58
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
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,121
|
|
Сообщение от gabe
|
И при 105 клиентах надо, чтобы цена была не 104.8, а 104... то есть 105 - 0.2*5...
|
а разве в 4 посте не так?
|
|
09.09.2015, 12:25
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
Сообщение от 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)]);
|
|
|
|