javascript - 输出中出现未定义/NaN 错误

标签 javascript undefined nan numerical

这是我在 stackoverflow 上的第一篇文章,我在以下代码中遇到错误,在 firefox 的检查元素/JS 控制台中没有显示错误,但由于某种原因计算后的输出显示未定义/NaN 错误。来自用户的输入在 Float 中被解析。

代码:

function costtoShip(){

    // get input 

    var weight = parseFloat(document.getElementById("weight")).value ;
    var msg;
    var cost;
    var subtotal;

    // calculation

    if ( weight >= 0.00 && weight <= 150.00 ) {
        cost = 20.00;
    }

    else if ( weight >= 151.00 && weight <= 300.00 ) {
        cost = 15.00;
    }

    else if ( weight >= 301.00 && weight <= 400.00 ) {
        cost = 10.00;
    }    


   subtotal = weight * cost ;
   msg = "<div> Total Weight is " + weight + "</div>" ;
   msg = msg + "<div> Subtotal is " + subtotal + "</div>" ;


   // send output

    document.getElementById("results").innerHTML = msg ;
}

最佳答案

var weight = parseFloat(document.getElementById("weight")).value;

这不是解析 float 的方法。您正在尝试对 double 调用 value 属性。将括号移出。

var weight = parseFloat(document.getElementById("weight").value);

我建议在您的代码周围使用 console.log(weight); 或其他值,以便您可以更轻松地查明这些问题。

关于javascript - 输出中出现未定义/NaN 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33177724/

相关文章:

javascript - 停止在 innerHTML 插入时清除输入

python - 由pivot_table引入的Pandas NaN

python - 将 nans 替换为移动窗口的正态分布

javascript - Nodejs 响应的第二级对象出错

ruby-on-rails - Rails 中未定义的方法 `devise_for'

javascript - 输入 0 未定义堆栈 :reference error

python - 使用来自其他列的非空值填充列中的空值

JavaScript 正则表达式 5-5000

javascript - 实现 jQuery 下拉效果

javascript - 位置 0 Angular2 的 JSON 中的 SyntaxError unexpected token u