js中parseInt()函数使用方法总结(1/2)

parseInt(string, radix)

函数有两个调用方式

1、指定radix,这也是推荐的方式,很不幸我之前都不是这样做的

2、不指定radix,即:parseInt(string)。虽然简单,但规则很多,这也是本文阐述内容的核心。

 
parseInt(string, radix)
radix,表示转换的基数,也就是我们常说的2进制、8进制、10进制、16进制等。范围从2~36,但我们在JS中一般调用该方法时,基本都是以10为基数进行转换的。

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

“string”参数应用的详细规则如下

(以基数10作为示例,原因是在实际使用时,出现频率最高。而其它基数的使用,你还需要很清楚各进制之间的转换,这个应该是计算机专业的重点课程,如果忘记了,那使用这个方法就会很“难受”):

1)如果都是字母,返回:NaN,例:

 代码如下 复制代码

    <script type="text/javascript">
        window.onload = function testParse() {
            alert(parseInt("abc", 10));
        }
    </script>2)如果都不是字母,返回:123,例:

    <script type="text/javascript">
        window.onload = function testParse() {
            alert(parseInt("123", 10));
        }
    </script> 3)

如果字母和数字都存在,例:

 代码如下 复制代码

    <script type="text/javascript">
        window.onload = function testParse() {
            alert(parseInt("1x2bc", 10));
            alert(parseInt("df2bc", 10));
        }
    </script>parseInt("1x2bc", 10)返回:1

parseInt("df2bc", 10)

返回:NaN

这里涉及到两个规则:

3.1)如果参数“string”,以数字开头,则取截止到第一个字母出现之前的所有数字进行转换(NND,总是感觉描述不到位)。

       上例中,第一个出现的字母是‘x’,取之前的数字串,只有一个数字'1',结果就返回1

3.2)如果参数“string”,以字母开头,直接返回NaN(因为10进制中字母不是一个有效的的表示,若radix为16呢?结果大家可以自行运行。)

以上描述按照ECMAScript的解释(官方翻译,很给力):

parseInt() 方法首先查看位置 0 处的字符,判断它是否是个有效数字;如果不是,该方法将返回 NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置 1 处的字符,进行同样的测试。这一过程将持续到发现非有效数字的字符为止,此时 parseInt() 将把该字符之前的字符串转换成数字。

 parseInt(string,radix)就介绍到这,如果有不对或者遗漏的,请看官们补充,在此谢过了

parseInt(string)
 以这种方式调用该函数时,因为没有显示的指定radix,会存在很多“潜规则”

 下面是两段引用

 w3school

 当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数。

举例,如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十六进制的数字。如果string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。

 mozilla开发者

•If the input string begins with "0x" or "0X", radix is 16 (hexadecimal) and the remainder of the string is parsed.
•If the input string begins with "0", radix is eight (octal) or 10 (decimal).  Exactly which radix is chosen is implementation-dependent.  ECMAScript 5 specifies that 10 (decimal) is used, but not all browsers support this yet.  For this reason always specify a radix when using parseInt.
•If the input string begins with any other value, the radix is 10 (decimal).
If the first character cannot be converted to a number, parseInt returns NaN.

首页 1 2 末页

时间: 2024-10-26 11:34:50

js中parseInt()函数使用方法总结(1/2)的相关文章

js中parseInt函数浅谈

这篇文章介绍了Js中的parseInt函数,有需要的朋友可以参考一下   从很热门的实例parseInt("09")==0说起. parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制. 比如说parseInt("010",10)就是10进制的结果:10, parseInt("010",2)就是2进制的结果:2, parseInt("010",8)就是8进制的结果:8, pars

js中parseInt函数

 从很热门的实例parseInt("09")==0说起. parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制. 比如说parseInt("010",10)就是10进制的结果:10, parseInt("010",2)就是2进制的结果:2, parseInt("010",8)就是8进制的结果:8, parseInt("010",16)就是2进制的结果:16.

js中parseInt函数浅谈_基础知识

从很热门的实例parseInt("09")==0说起.parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制.比如说parseInt("010",10)就是10进制的结果:10,parseInt("010",2)就是2进制的结果:2,parseInt("010",8)就是8进制的结果:8,parseInt("010",16)就是2进制的结果:16. 下面我来说

javascript中声明函数的方法及调用函数的返回值_基础知识

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <!--js中声明函数的方法--> <script type="text/javascript"> //因为javascript是弱类型的语言,所以参数不需要加类型.函数的也不需要像c#那样要求所以路径都需要有返回值(这个不像c#语言,而且c#的方法也不需要在方法

自定义函数实现IE7与IE8不兼容js中trim函数的问题_javascript技巧

本文实例讲述了自定义函数实现IE7与IE8不兼容js中trim函数的方法.分享给大家供大家参考.具体实现方法如下: <html> <head> <title>test</title> <script type="text/javascript"> String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }

JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法

         JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法          这篇文章主要介绍了JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法,因转换的字符串数字都以0开头,导致parseInt函数在浏览器和Android WebView中转换结果不一样,本文给出了解决方法,需要的朋友可以参考下 今天被一个问题困扰,有一个页面在浏览器(无论是手机还是PC)上运行良好,而通过WebView就出

javascript-关于js中在函数对象构造器中定义对象方法的问题

问题描述 关于js中在函数对象构造器中定义对象方法的问题 为什么函数前要有this.changeName=changeName 我是个新手 谢谢了 解决方案 无关在函数前后,赋值是因为为了调用到person内部定义的changeName函数,要不访问不到.也就是为了实现下面 myMonther.changeName('Ballmer');//这么使用函数 解决方案二: changeName是个私有函数,外部是访问不到的,所以要想在外部能够访问到就必须给个外部能访问到的公有属性或者公有方法

js中匿名函数的创建与调用方法分析_javascript技巧

本文实例分析了js中匿名函数的创建与调用方法.分享给大家供大家参考.具体实现方法如下: 匿名函数就是没有名字的函数了,也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数.最经常用作回调函数(callback)参数的值,很多新手朋友对于匿名函数不了解.这里就来分析一下. function 函数名(参数列表){函数体;} 如果是创建匿名函数,那就应该是: function(){函数体;} 因为是匿名函数,所以一般也不会有参数传给他. 为什么要创建匿名函数呢?在什么情况下会使用到匿

JS中parseInt()和map()用法分析_javascript技巧

本文实例讲述了JS中parseInt()和map()用法.分享给大家供大家参考,具体如下: parseInt()的几个例子 var b = parseInt("01"); alert("b="+b); var c = parseInt("09/08/2009"); alert("c="+c); 结果:b=1,c=0 parseInt()用来解析字符串,返回整数,有几个特点: 1.无视被解析字符串最前和最后的空格,即:"