jQuery - 返回NaN的简单数学

时间:2015-07-01 21:46:01

标签: javascript jquery

我正在尝试使用以下功能进行一些简单的数学运算。该函数称为onChange

var exposure = $('#exposure').find(":selected").val();
var budget = $('.budget').val();
var ppc = $('.ppc').val();
var value = budget/ppc;
var total2 = Math.floor(value*0.95);

if(exposure == 2){
    var dref = 0.0005;
}else if(exposure == 3){
    var dref = 0.005;
}else if(exposure == 4){
    var dref = 0.001;       
}

if(exposure > 1){
    var add = dref+ppc;
    var value2 = budget/add;
    var total2 = Math.floor(value2*0.95);
}
$("#sum").text("" + total2 + " Clicks");

我的问题是,如果exposure > 1total2中的#sum值将返回NaN

我做错了什么?

2 个答案:

答案 0 :(得分:1)

为整数做parseInt(value,10)或为浮动做parseFloat(value)

如果数据类型不是数字,则JavaScript会附加值。

像:

budget = parseInt(budget,10);

答案 1 :(得分:0)

您必须使用parseIntparseFloat。我会说parseFloat之类的东西,

var budget = parseFloat($('.budget').val());
var ppc = parseFloat($('.ppc').val());
var value = parseFloat(budget/ppc);
var total2 = parseFloat((value*0.95));