Number() 与 parseInt()解析

javascript/jquery

浏览数:91

2019-8-19

在 Python 中,将字符串转为整型变量的函数是 int() ,直接使用 int("123")就可以得到 123的输出结果,这样可以比较快速的得到我们想要的结果,在 js 中将 string 类型 转为 number 类型的函数有三种, Number()parseInt()parseFloat()

Number()可以用于任何数据类型,而另外两个则专门用于把字符串转换为数值,这三个函数对于同样的输入会有不一样的结果。

1.Number()

Number() 的转换规则如下:

  • 对于Boolean值,真返回 1,假返回 0

  • 如果是Number型数值,则输入与输出一致

  • 如果是 null 型,则会返回 0

  • 如果是 undefined ,则会返回 NaN(Not a Number)

  • 如果是字符串,则会满足一下规则:

    • 如果字符串中只包含数字(包括正负号的情况),则会将其转换为十进制数值,运行示例如下:

    • 如果字符串中包含浮点格式,则会输出浮点数

    • 如果字符串中包含有效的十六进制数值,则会输出相应的十进制数值

    • 如果字符串是空的,则将其转换为0

    • 除上述格式外,全部转为NaN

2.parseInt()

由于NUmber()函数在转换字符串时比较复杂,因此我们平时最常使用的还是 parseInt()函数。它会忽略字符串前面的空格,直到找到一个非空格字符串,如果第一个字符串不为数字或者正负号,则会返回NaN。如果第一个是数字字符或者正负号,会接着向下扫描,知道完成所有字符或者遇到一个非数字字符

ECMAScript 5 JavaScript引擎中,parseInt()已经不具有解析八进制值的能力,所以上述

parseInt("070")

会输出 70

parseInt()可以指定第二个参数为进制数,如下所示:

3.parseFloat()

关于使用方法如下所示:

作者:Jacob98