JavaScript中的parseInt和Number函数

时间:2022-08-25 16:13:47
函数作用:
parseInt将字符串(String)类型转为整数类型。
Number() 函数把对象(Object)的值转换为数字。


语法不同:

parseInt(string, [radix])


string:必选参数,要被转换的字符串

radix:可选,数字的基数。取值范围在2~36。

如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。


<pre name="code" class="javascript">        alert("parseInt1返回 " + parseInt("1", 1));   //返回NaN
alert("parseInt0x123 " + parseInt("0x123")); //291
alert("parseInt000123 " + parseInt("000123")); //123


 

       当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。       如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

Number(object)

Number返回的是数字,其参数是对象。


如果对象的值无法转换为数字,那么 Number() 函数会返回 NaN。

        var test = new Date()
var testStr = new String("123");
var testStr1 = new String("5,000");
alert("Number(test) " + Number(test)); //返回1437631091369

alert("Number(testStr) " + Number(testStr)); //返回123

alert("Number(testStr1) " + Number(testStr1)); //返回NaN

 在 var testStr1 = new String("5,000") 中,字符串中含有千位符,因此造成无法转换。虽然是很小的细节,但也应当谨慎。含有千位符的字符串,不能直接转换,要先去掉千位符,再进行转换,也是由此引出这篇博客。