JavaScript中的parseInt和Number函数

函数作用:
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") 中,字符串中含有千位符。因此造成无法转换。尽管是非常小的细节,但也应当慎重。

含有千位符的字符串,不能直接转换,要先去掉千位符,再进行转换,也是由此引出这篇博客。

posted @ 2017-06-17 17:11  brucemengbm  阅读(316)  评论(0编辑  收藏  举报