首页 > 解决方案 > 如果传递的值为空白或 null,则 JavaScript 函数不起作用

问题描述

我创建了一个 JavaScript 函数,用于计算作为参数传递的给定报价值的状态。

假设,如果我们有Values.NE_LEGas" "NULLthen 它给出isNan错误并且 if 影响我的功能并且没有正确给出状态。

下面是我正在使用的功能。

function getHotoStatusIDFTTX(OfferValue) {    
    var Values = JSON.parse(OfferValue);

    var ne_leg = parseFloat(Values.NE_LEG).toFixed(4); //isNan if the value is blank
    var hotoFttxValue = parseFloat(Values.OFFERHOTO).toFixed(4);
    var hotoFttxValuecomplete = parseFloat(Values.HOTOCOMPLETED).toFixed(4);
    var total_hoto = parseFloat(hotoFttxValuecomplete) + parseFloat(hotoFttxValue);
    
    var pendhotoFttxValue = 0;
    var calPerhotofttx = 0;
    var pendPartialfttx = 0;
    var calPartialfttx = 0;

    if (parseFloat(total_hoto).toFixed(2) > 0 && parseFloat(ne_leg).toFixed(2) > parseFloat(total_hoto).toFixed(2)) {
        pendhotoFttxValue = ne_leg - total_hoto;
        calParhotoFttx = (100 - (pendhotoFttxValue * 100 / ne_leg)).toFixed(2);
    } else if (parseFloat(ne_leg).toFixed(2) == parseFloat(total_hoto).toFixed(2)) {
        calParhotoFttx = 100;
    }
    
    var status = 0;
    var toleranceValuefttX = parseFloat(100 - tolerance.percentage);

    if (calParhotoFttx >= toleranceValuefttX) {
        status = HotoStatusId.hoto;
       // status = 11;
    }
    else if (calParhotoFttx < toleranceValuefttX) {
       status = HotoStatusId.hotopartial;
    }  
    return status;
}

出了什么问题,我应该采取什么步骤?

标签: javascriptjquery

解决方案


使用 isNan() 函数。我想它会对你有所帮助......

这是一些用于测试的代码。

https://jsfiddle.net/pf4mjgnL/2/

var str = "avc";
var num = 1234;

console.log(isNaN(str));
console.log(isNaN(num));

推荐阅读