Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.02.2021, 12:50
Интересующийся
Отправить личное сообщение для MaJIon Посмотреть профиль Найти все сообщения от MaJIon
 
Регистрация: 12.02.2021
Сообщений: 10

Округление значения к тысячным
Здравствуйте, у меня на сайте input number с кнопками + и -. И при шаге в 0.100 нули в конце обрезаются , то есть при увеличении значение отображается как 0.2 и при увеличении к 0.300 граммам, значение отображается как 0,30000000000000004 . Как я могу дописать скрипт так, чтобы значение отображалось в с нулями в конце (в тысячных 0.000) при клике на кнопки + и -. и чтобы все значения округлялись к тысячным и не выводило бесконечное число нулей??


$(function() {
	$(document).on('click', ".number-spinner a", function(e){
		e.preventDefault();
		btn = $(this);
		input = btn.closest('.number-spinner').find('input');
		btn.closest('.number-spinner').find('a').prop("disabled", false);
		if (btn.attr('data-dir') == 'up') {
			if ( input.attr('max') == undefined || parseFloat(input.val()) < parseFloat(input.attr('max')) ) {
				//input.val(parseFloat(input.val())+parseFloat(input.attr('step')));
				input.val(parseFloat(input.val())+parseFloat(input.attr('step')),3);
				input.trigger('change');
			}else{
				btn.prop("disabled", true);
			}
		} else {
			if ( input.attr('min') == undefined || parseFloat(input.val()) > parseFloat(input.attr('min')) ) {
				input.val(parseFloat(input.val())-parseFloat(input.attr('step')));
				input.trigger('change');
			}else{
				btn.prop("disabled", true);
			}
		}
	});
	$(document).on('change', '.dc-quantity-spinner-list', function(){
		if($(this).parents('.product-thumb').find('[onclick^="cart.add"]').length){
			var buttonCart = $(this).parents('.product-thumb').find('[onclick^="cart.add"]');
			var productId = buttonCart.attr('onclick').match(/\d+/);
			buttonCart.attr('data-product-id', productId).removeAttr('onclick');
		}
	});
	$(document).on('click', '[data-product-id]', function(){
		cart.add($(this).data('product-id'), $(this).parents('.product-thumb').find('.dc-quantity-spinner-list').val());
	});
});
Ответить с цитированием
  #2 (permalink)  
Старый 12.02.2021, 13:10
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,744

input.val((parseFloat(input.val())+parseFloat(inpu t.attr('step'))).toFixed(3));
Ответить с цитированием
  #3 (permalink)  
Старый 12.02.2021, 13:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

MaJIon,
toFixed или Math.round
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать значения переменной из одного фрейма в другой в Google Chrome Freestyle007 Events/DOM/Window 17 20.06.2019 14:28
Почему возвращает значения RGB каналов? Black_Star jQuery 14 06.02.2017 04:49
Input type="time" + JS +Safari (iPhone) dpts Opera, Safari и др. 0 21.09.2016 07:24
Input type="time" + JS +Safari (iPhone) dpts Opera, Safari и др. 0 21.09.2016 07:24
Множественные значения в input - ЗА ВОЗНАГРАЖДЕНИЕ! Pb160 Events/DOM/Window 0 03.08.2015 12:29