Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用parseFloat时获取NaN_Jquery_Json - Fatal编程技术网

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();

您也应该对此执行
parseFloat

JSON中的一个值必须为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()的值是多少?