-1

我想用 Javascript 计算但有奇怪的问题。它只是将 1 添加到我的 String 但它应该计算它。我正在使用 parseInt() 函数将我的字符串转换为 Int,并且计算如下:sec = sec + 1;

 var calc= parseInt($(this).find("input[name=calc]").val());
                calc = calc + 1;
4

4 回答 4

2

如果不想,您的字符串不能为空NaN。首先检查你是否得到一个空字符串:

var cal = null;

if ( $(this).find("input[name=calc]").val() ) {

    cal = parseInt( $(this).find("input[name=calc]").val(), 10 );
    cal++;

}
于 2012-11-01T15:04:16.490 回答
1
if(!!sec){ 
    sec = parseInt(sec, 10) + 1;

    alert(sec);
}

或者,在您的场景中:

var fieldvalue = $(this).find("input[name=calc]").val(), calc;

if(!!fieldvalue){
    calc = parseInt(fieldvalue, 10);

    calc += 1;

    alert(calc);
}
于 2012-11-01T14:54:13.807 回答
0

你有更多的代码要表达吗?它可能只是出现 1,因为 sec 未设置为数字

于 2012-11-01T14:54:19.907 回答
0

在 javascript 中,+ 运算符用于字符串的添加和连接。由于 javascript 是弱类型的,因此您必须添加有关类型的信息。这里有两个解决方案:

  • 从字符串中减去 0

    秒 = (sec-0) + 1;

  • 将一元 + 运算符添加到字符串

    秒 = (+秒) + 1;

于 2012-11-01T15:05:38.997 回答