Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Округление значения к тысячным (https://javascript.ru/forum/dom-window/81906-okruglenie-znacheniya-k-tysyachnym.html)

MaJIon 12.02.2021 12:50

Округление значения к тысячным
 
Здравствуйте, у меня на сайте 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());
	});
});

voraa 12.02.2021 13:10

input.val((parseFloat(input.val())+parseFloat(inpu t.attr('step'))).toFixed(3));

рони 12.02.2021 13:27

MaJIon,
toFixed или Math.round


Часовой пояс GMT +3, время: 00:18.