Не может добавить два десятичных числа, используя jQuery
Я пытаюсь добавить два десятичных значения, но возвращаемая сумма является чистым целым числом. Что не так? Я не могу найти его. любая помощь будет приветствоваться.
jQuery(".delivery-method #ship_select").change(function(){
var cost = jQuery(this).val();
jQuery("#delivery_cost").val(cost); //returns 20.00
var tot = parseInt(cost) + parseInt(total); //total returns 71.96
});
С кодом я получаю только 91
, а не 91.96
Ответы
Ответ 1
Используйте parseFloat()
вместо parseInt()
.
jQuery(".delivery-method #ship_select").change(function(){
var cost = jQuery(this).val();
jQuery("#delivery_cost").val(cost); //returns 20.00
var tot = parseFloat(cost) + parseFloat(total); //total returns 71.96
});
Ответ 2
вам нужно использовать parseFloat
Вместо parseInt
jQuery(".delivery-method #ship_select").change(function(){
var cost = jQuery(this).val();
jQuery("#delivery_cost").val(cost); //returns 20.00
var tot = parseFloat(cost) + parseFloat(total); //total returns 71.96
});
Проверить демо: http://jsfiddle.net/aDYhX/1/
Ответ 3
Используйте parseFloat вместо parseInt и проверьте.
Ответ 4
Целочисленное арифметическое округляет. Вместо этого используйте parseFloat
.
Ответ 5
Используйте parseFloat()
вместо parseInt()
var tot = parseFloat(cost) + parseFloat(total);
Но, поскольку вы хотите ограничить до двух знаков после запятой строго
function roundNumber(num, dec) {
var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
return result;
}
var tot = roundNumber((cost+total), 2);