Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Округление в JQuery. Подскажите (https://javascript.ru/forum/jquery/43051-okruglenie-v-jquery-podskazhite.html)

reddiamond 19.11.2013 23:37

Округление в JQuery. Подскажите
 
Добрый день!
Есть простенький скрипт калькулятора объема.
При вводе в форму числа со знаком после точки (например 1.95) происходит округление в меньшую сторону до целого (т.е. 1.95 считается как 1)
Второй момент при перемножении функцией, например 23 х 0.1 результат 2.3000000000000003
В чем может быть дело, помогите

var ploshad, tolshina, kubatura;
	$('<div class="calc-price"></div>').insertBefore($('#edit-actions'));
	function changeTeplo(){
		ploshad= $('#edit-submitted-ploshchad').val();
        	tolshina= $('#edit-submitted-tolshchina-uteplitelya').val();

	if(ploshad && tolshina) {
		ploshad = parseInt(ploshad);
		tolshina = parseInt(tolshina);
		tolshina2 = tolshina/100;
		kubatura = ploshad * tolshina2;
		//kubatura = Math.round(kubatura);
		$('.calc-price').html('<p>' + kubatura + ' м3</p>');

	   }
	}
	
	$('#edit-submitted-tolshchina-uteplitelya, #edit-submitted-ploshchad').bind('change keyUp keyDown', function(){
		changeTeplo();																		
      });

рони 19.11.2013 23:48

reddiamond,
Цитата:

parseInt округляет дробные числа, т.к останавливается на десятичной точке.
Цитата:

Метод parseFloat преобразует строковый аргумент в число с плавающей точкой
Цитата:

toFixed Число округляется до нужного знака

Rise 20.11.2013 00:06

if(ploshad && tolshina) {
		kubatura = ploshad * (tolshina/100);
		$('.calc-price').html('<p>' + kubatura.toFixed(2) + ' м3</p>');
	}

reddiamond 20.11.2013 00:19

Спасибо, все работает!


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