Jquery 使用parseFloat时获取NaN
我正在使用此代码执行该计算:Jquery 使用parseFloat时获取NaN,jquery,json,Jquery,Json,我正在使用此代码执行该计算: $('#outfitters').submit(function(event) { var days = $('#days').val(); var final_price = 0; var length = parseFloat($("#length").val()); var material = parseFloat($("#mat
$('#outfitters').submit(function(event) {
var days = $('#days').val();
var final_price = 0;
var length = parseFloat($("#length").val());
var material = parseFloat($("#material").val());
var fibre = parseFloat($("#fibre").val());
var kevlar = parseFloat($("#kevlar").val());
final_price = parseFloat(days * (length + material + fibre + kevlar));
console.log(length);
alert("Final Price is: " + final_price);
window.location.reload(true);
});
所有的值都是从JSON中获取的,如下所示
{
"company":"SS",
"locations":[
{ "name":"Kincardine" },
{ "name":"Killarney"},
{ "name":"Bon Echo"}
],
"twelve": 25.00,
"fourteen": 30.00,
"sixteen":35.00,
"paddles": 10.00,
"lifevest": 10.00,
"fibreglass":0.00,
"kevlar": 10.00
}
问题是我在计算最终价格时得到NaN,尽管我可以完美地检索所有值。我在这里遗漏了什么吗?请仔细检查您的days元素的值。也可以尝试将其作为浮点进行解析
var days = parseFloat($('#days').val());
仔细检查days元素的值。也可以尝试将其作为浮点进行解析
var days = parseFloat($('#days').val());
我想天被当作一个字符串:
var days = $('#days').val();
你也应该在这上面做一个
parseFloat
,我想天被当作一个字符串:
var days = $('#days').val();
您也应该对此执行
parseFloatJSON中的一个值必须为NaN,因此您应该在计算之前对每个值执行验证/转换/解析,否则输出将为NaN。JSON中的一个值必须为NaN,因此,您应该在计算之前对每个变量进行验证/转换/解析,否则输出将为NaN。调试的最佳方法是在每个parseFloat语句之后放置一个显示值的警报,以查看哪个变量导致NaN,然后对其进行排序 最好的调试方法是在每个parseFloat语句之后放置一个显示值的警报,以查看哪个变量导致了NaN,然后对其进行排序 在var-days
上也尝试执行ParseFloat
或ParseInt
,例如var-days=ParseFloat($('#days').val()代码>为什么要解析一个数字?从计算行中删除parseFloat。NaN
有毒;如果其中一个值为NaN
,则所有值都将为。依次输出每个变量以发现它是哪一个。也可以尝试在var days
上执行ParseFloat
或ParseInt
,例如var days=ParseFloat($('#days').val())代码>为什么要解析一个数字?从计算行中删除parseFloat。NaN
有毒;如果其中一个值为NaN
,则所有值都将为。依次输出每个变量以发现它是哪一个。@user1890338 javascript控制台中$('#days').val()的值是多少?@user1890338 javascript控制台中$('#days').val()的值是多少?