Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2017, 11:10   #1
Tagir93
Пользователь
 
Регистрация: 06.02.2017
Сообщений: 31
По умолчанию Изменения шага кол-ва товара (в карточке) с целого числа на десятичное

Добрый день! У меня ни как не получается изменить чтобы прибавлялся или отнимался не целое число а десятичное, вот сам скрипт, который работает с целыми числами:

Код:
<script type="text/javascript" >
$(document).ready(function() {
$('.my_minus').click(function () {
var $input = $(this).parent().find('.quant');
var count = parseInt($input.val()) - 1;
count = count < 1 ? 1 : count;
$input.val(count);
$input.change();
return false;
});
$('.my_plus').click(function () {
var $input = $(this).parent().find('.quant');
$input.val(parseInt($input.val()) + 1);
$input.change();
return false;
});
});
</script>
Как можно его модернизировать что бы шаг был не единица а 0.1 ?


_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 10.07.2017 в 11:27.
Tagir93 вне форума Ответить с цитированием
Старый 10.07.2017, 11:32   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

попробуйте так:

Код:
<script type="text/javascript" >
$(document).ready(function() {
	$('.my_minus').click(function () {
		var $input = $(this).parent().find('.quant');
		var count = parseFloat($input.val()) - 0.1;
		count = count < 1 ? 1 : count;
		$input.val(count);
		$input.change();
		return false;
	});
	$('.my_plus').click(function () {
		var $input = $(this).parent().find('.quant');
		$input.val(parseFloat($input.val()) + 0.1);
		$input.change();
		return false;
	});
});
</script>
p.s. не проверял!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.07.2017, 12:06   #3
Tagir93
Пользователь
 
Регистрация: 06.02.2017
Сообщений: 31
По умолчанию

После изменения скрипта шаг 0.1 стал работать но в такой последовательности
0.1
0.2
0.30000000000000004
4
5
6
7
0.7999999999999999
0.8999999999999999
0.9999999999999999
1.0999999999999999
1.2
1.3
1.4000000000000001
1.5000000000000002
1.6000000000000003
1.7000000000000004
1.8000000000000005
1.9000000000000006
2.0000000000000004
Tagir93 вне форума Ответить с цитированием
Старый 10.07.2017, 13:04   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Tagir93 Посмотреть сообщение
После изменения скрипта шаг 0.1 стал работать
О. Работает! Отлично!


Цитата:
Сообщение от Tagir93 Посмотреть сообщение
но в такой последовательности
ага. вещественные числа в машинном представлении задаются с погрешностью.

попробуйте так исправить код:

Код:
<script type="text/javascript" >
$(document).ready(function() {
	$('.my_minus').click(function () {
		var $input = $(this).parent().find('.quant');
		var count = parseFloat($input.val()) - 0.1;
		count = count < 1 ? 1 : count;
		$input.val(count.toFixed(1));
		$input.change();
		return false;
	});
	$('.my_plus').click(function () {
		var $input = $(this).parent().find('.quant');
		var newvalue=parseFloat($input.val()) + 0.1;
		$input.val(newvalue.toFixed(1));
		$input.change();
		return false;
	});
});
</script>
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.07.2017, 13:11   #5
Tagir93
Пользователь
 
Регистрация: 06.02.2017
Сообщений: 31
По умолчанию

Теперь все правильно работает
Большое Вам спасибо!
Tagir93 вне форума Ответить с цитированием
Старый 10.07.2017, 13:13   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

да не за что! Рад был помочь!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.07.2017, 13:25   #7
Tagir93
Пользователь
 
Регистрация: 06.02.2017
Сообщений: 31
По умолчанию

Поспешил с выводом. На увеличение работает все верно, но когда начинаю уменьшать, уменьшается только до 1
Изменил строку count = count < 1 ? 1 : count;
на count = count < 0.1 ? 0.1 : count;
Tagir93 вне форума Ответить с цитированием
Старый 10.07.2017, 13:31   #8
Tagir93
Пользователь
 
Регистрация: 06.02.2017
Сообщений: 31
По умолчанию

Теперь все супер!
Tagir93 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа, суммирующая числа от 0 до указанного целого положительного числа Диана1998 Microsoft Office Excel 10 26.11.2016 18:01
Как напишите программу, суммирующую числа от 0 до указанного целого положительного числа Диана1998 Microsoft Office Excel 1 25.11.2016 16:09
Visual Basic: Описать функцию DigitN (K, N) целого типа, возвращающую N-ю цифру целого положительного числа К Екатерина23 Помощь студентам 1 10.12.2013 09:25
Преобразование двоичного числа в десятичное Dmitry_Web Помощь студентам 3 10.07.2012 18:07
Работа с циклами, Не обнавляется кол-во товара в корзине bboyb-rock PHP 4 08.04.2011 19:14