JS 中如何判断字符串类型的数字

来源:互联网 发布:php hadoop开发 编辑:程序博客网 时间:2024/04/28 04:23

“23” 这样的字符串是可以转换成数字类型的,但如何判断它可以转换呢?

以下是不正确的用法:

1. typeof

var str = "37";if (typeof(str) == "number") {    alert("是数字");}

37 虽然可以转化成数字,但这里它毕竟是字符串类型,所以此法不正确。


2. parseInt+isNaN

var str = "37";var n = parseInt(str);if (!isNaN(n)) {    alert("是数字");}

parseInt 会将字符串转化成整数,但它会忽略非数字部分而不给任何提示,比如:”37ABC” 会转化成 37,所以此法不正确。


以下是正确的用法:

3. 正确用法 Number+isNaN

var str = "37";var n = Number(str);if (!isNaN(n)) {    alert("是数字");}

注意:在 JavaScript 中,对于省略写法(如:”.3”、”-.3”)、科学计数法(如:”3e7”、”3e-7”)、十六进制数(如:”0xFF”、”0x3e7”)均被认定为数字格式,这类字符串都可以用 Number 转化成数字。

isNaN 返回一个 Boolean 值,指明提供的值是否是 NaN ,NaN 的意思是 not a number(不是一个数字)。

语法:isNaN(numValue)

0 0
原创粉丝点击