Округление переменной javascript - PullRequest
1 голос
/ 30 марта 2011

Я пытаюсь округлить несколько переменных до 2 знаков после запятой, но у меня возникают проблемы

Когда я использую toFixed () только для переменной totalprice, она работает, находит (очевидно, доставка не округляется), но когда она у меня естькак показано ниже (.toFixed на отправку var) консоль javascript выдает мне эту ошибку:

Uncaught TypeError: Object 219.863.80 has no method 'toFixed'
updatePriceshg-buy.html:398
(anonymous function)hg-buy.html:436
onchangehg

219.86 - это значение цены, 63.80 - это цена доставки, поэтому она выглядит как конкатенация, но я не могу разобратьсякак это исправить.

Заранее спасибо

Код ниже

function updatePrices() {
var price = $('select_1').getValue();
var shipping = $('shippingValue').getValue();
var quantity = $('select_3').getValue();
var totalshipping = (shipping * quantity).toFixed(2);

var totalprice = ((price * quantity)+(totalshipping)).toFixed(2);

$('unitprice').setText(price);
$('shipping').setText(totalshipping);
$('totalprice').setText(totalprice);
}

Ответы [ 2 ]

3 голосов
/ 30 марта 2011

Попробуйте:

var totalshipping = (parseFloat(shipping) * parseFloat(quantity)).toFixed(2);
0 голосов
/ 30 марта 2011

Я предлагаю использовать некоторую библиотеку для правильной обработки десятичных значений, иначе вы можете потерять несколько центов здесь и там. (Конечно, это необходимо, только если вы заботитесь об этих центах.)

Вы можете посмотреть на этот вопрос .

...