您的位置:首页 > 其它

Number

2015-07-31 20:15 393 查看
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/parseInt

概述

parseInt() 函数将给定的字符串以指定基数(radix/base)解析成为整数。

语法

parseInt(string, radix);

参数

string
要被解析的值。如果参数不是一个字符串,则将其转换为字符串。字符串开头的空白符将会被忽略。
radix
一个2到36之间的整数值,用于指定转换中采用的基数。比如参数"10"表示使用我们通常使用的十进制数值系统。总是指定该参数可以消除阅读该代码时的困惑并且保证转换结果可预测。当忽略该参数时,不同的实现环境可能产生不同的结果。

描述

parseInt
顶级函数,没有与任何对象关联。

parseInt
函数将第一个参数(字符串)解析并试图返回一个整数或者
NaN
(Not a Number)。如果结果不是
NaN
,那么返回值是把第一个参数看作是radix参数指定的进制下的数,然后把它转换成十进制的整数。例如:
radix
参数为10 将会把第一个参数看作是一个数的十进制表示,8 对应八进制,16 对应十六进制,等等。基数大于 10 时,用字母表中的字母来表示大于 9 的数字。例如十六进制中,使用 A 到 F。

如果
parseInt
遇到了不属于
radix
参数所指定的基数中的字符那么该字符和其后的字符都将被忽略。接着返回已经解析的整数部分。
parseInt
将截取整数部分。开头和结尾的空白符允许存在,会被忽略。

在没有指定基数,或者基数为 0 的情况下,JavaScript 作如下处理:

如果字符串
string
以"0x"或者"0X"开头, 则基数是16 (16进制).

如果字符串
string
以"0"开头, 基数是8(八进制)或者10(十进制),那么具体是哪个基数由实现环境决定。ECMAScript 5 规定使用10,但是并不是所有的浏览器都遵循这个规定。因此,永远都要明确给出radix参数的值

如果字符串
string
以其它任何值开头,则基数是10 (十进制)。

如果第一个字符不能被转换成数字,
parseInt
返回
NaN


算术上,
NaN
不是任何一个进制下的数。 你可以调用
isNaN
来判断
parseInt
是否返回
NaN
NaN
参与的数学运算其结果总是
NaN


将整型数值以特定基数转换成它的字符串值可以使用
intValue.toString(radix)
.

一个更严格的解析函数

有时采用一个更严格的方法来解析整型值很有用。此时可以使用正则表达式:

filterInt = function (value) {
if(/^(\-|\+)?([0-9]+|Infinity)$/.test(value))
return Number(value)]注意两个return
return NaN;
}

console.log(filterInt('421'));               // 421
console.log(filterInt('-421'));              // -421
console.log(filterInt('+421'));              // 421
console.log(filterInt('Infinity'));          // Infinity
console.log(filterInt('421e+0'));            // NaN
console.log(filterInt('421hop'));            // NaN
console.log(filterInt('hop1.61803398875'));  // NaN
console.log(filterInt('1.61803398875'));     // NaN
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: