繁体   English   中英

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

[英]How do I convert a string to an int in Javascript?

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

我希望参数不是整数quantyt时返回NaN:

  • 空字符串应返回NaN(非0)
  • 混合字符串(例如“ 3b”)应返回NaN(而不是3)
function cNum(param) {
  return param === "" ? NaN : Number(param)
}

cNum(""); //returns NaN
cNum("3b"); //returns NaN
cNum("4.5"); //returns 4.5
function stringToInt(str) {
  var num = parseInt(str);
  if (num == str)
    return num;
  return NaN;
}

例子

stringToInt("")
NaN

stringToInt("3")
3

stringToInt("3x")
Nan
var intval = /^\d+$/.test( strval ) ? parseInt( strval ) : NaN;

您不需要太多-如果s是字符串:

如果s是整数,则s%1将返回0。

如果s是非整数,它将返回一个非零数字,

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

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

但是,尽管返回的数字是整数,但对于javascript来说,它仍然只是一个数字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM