如何在Javascript中将字符串转换为int?

时间:2011-03-31 19:03:25

标签: javascript

如何正确处理错误情况,如何在JS中将字符串转换为int?

当参数不是一个整数时,我希望NaN返回:

  • 空白字符串应返回NaN(不为0)
  • 混合字符串(例如“3b”)应返回NaN(不是3)

5 个答案:

答案 0 :(得分:1)

function cNum(param) {
  return param === "" ? NaN : Number(param)
}

cNum(""); //returns NaN
cNum("3b"); //returns NaN
cNum("4.5"); //returns 4.5

答案 1 :(得分:0)

答案 2 :(得分:0)

function stringToInt(str) {
  var num = parseInt(str);
  if (num == str)
    return num;
  return NaN;
}

实施例

stringToInt("")
NaN

stringToInt("3")
3

stringToInt("3x")
Nan

答案 3 :(得分:0)

var intval = /^\d+$/.test( strval ) ? parseInt( strval ) : NaN;

答案 4 :(得分:0)

你不需要太多 - 如果s是一个字符串:

如果s是整数,

s%1 将返回0。

如果s是非整数,

将返回非零数字

和NaN,如果s根本不是数字。

function isInt(s){
    return (s%1===0)? Number(s):NaN;
}

但是虽然返回的数字是一个整数,但对于javascript它仍然只是一个数字。