`

js parseInt 用法

    博客分类:
  • js
 
阅读更多

首先还是从很热门的实例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。

下面我来说说没有指定进制单位的时候,默认是10进制,但:如果是里面的Number是0开头的就认为是8进制的,如果是0x开头的就认为是16进制的。

parseInt("10")==>parseInt("010",10)===>10

parseInt("010")==>parseInt("010",8)==>8

parseInt("0x10")==>parseInt("010",16)==>16.

到这里很顺利.

许多事情不是想的那么顺利,比如说如果Number不是我们给的正常数字又怎么解释呢。查了些资料,是这样说的:

parseInt(Number)如果中间的Number遇到不是数字(0-9)的就中断往下解析,就只取不是数字之前的值去运算:

比如parseInt("100x"),就相当于parseInt("100")===》parseInt("100",10)==>100,

又如parseInt("0100x")===>parseInt("0100")===>parseInt("100",8)===>64.

到这里我们似乎无视了一个就是16进制中的有个x,它也不是数字,是不是遇到x也无视了呢。尝试下了发现在这个特殊处理了下,比如

parseInt("0x10")===>parseInt("10",16)===>16和最上面的结果相符,但却和我刚说的,不是字符就自动不解析就应该理解成parseInt("0")相违背。

这 里就需要注意下,parseInt里面的Number是这样的,当如果第一个不是0且不是字符就认为是10进制,一切照旧执行,遇到字母就停下来。又当如 果是第一个是0,后面那个就需要注意了,如果是x就继续往下走,这里的x不代表数值,只能和前面的0一起组成0x代表16进制的单位,后面的才按上面我们 讲的遇到非数字停止解析的规则来。比如parseInt("0xt")==>parseInt("0x")==> parseInt("",16)就是NaN了。

总结下,parseInt(Number)里面的值:

如果是第一位不是0就遇到字母就停止解析,并把字母前面的值作为10进制去解析,如果第一个就是字母那么值就是空,空成了NaN,比如:
parseInt("a")==>parseInt("",10)==>NaN.

parseInt("10a")==>parseInt("10")==>parseInt("10",10)==>10;

如果第一位是0,且第2位不是x也和上面一样遇到字母就停止解析,并把字母前面的值作为8进制去解析,比如:

parseInt("0a")==>parseInt("0")==>parseInt("0",10)==>0.

PS:这个有点特殊,因为0a被解析成了0,还不具备看做是8进制的结构,下面那个就明显了。

parseInt("010a")==>parseInt("010")==>parseInt("10",8)==>8;

如果第一位是0,且第2位是x那后面也和上面一样遇到字母就停止解析,并把字母前面的值作为16进制去解析,比如:

parseInt("0xt")==>parseInt("",16)==>NaN.

parseInt("0x12t")==>parseInt("12",16)==>18.

分享到:
评论

相关推荐

    javascript parseInt 函数分析(转).docx

    #### 二、`parseInt`函数的基本用法 `parseInt`函数的基本语法如下: ```javascript parseInt(string, radix); ``` 其中: - `string`:要被解析的字符串。 - `radix`(可选):一个介于2到36之间的整数,表示`...

    javaScript parseInt字符转化为数字函数使用小结.docx

    本文旨在深入探讨`parseInt()`函数的工作原理、使用方法以及一些常见陷阱,并提供解决方案。 #### 二、基本语法 `parseInt()`函数的基本语法如下: ```javascript parseInt(string, radix); ``` - **string**:...

    parseInt()函数引发的惨案

    `parseInt()`函数的基本用法是接收两个参数:要解析的字符串和可选的基数(radix)。基数指定了字符串表示数字的进制,范围从2到36。如果不提供基数,则`parseInt()`会尝试根据字符串的开头来判断其进制。默认情况下...

    javascript parseInt与Number函数的区别.docx

    对于这样的需求,JavaScript提供了多种方法来实现这一目标,其中最为常用的两种方法便是`parseInt`函数和`Number`函数。虽然它们的功能看起来相似,但在实际应用中却有着显著的不同之处。本文将详细介绍`parseInt`和...

    javascript parseInt 大改造

    总结来说,作者通过深入研究parseInt函数的特性以及重定义JavaScript函数的高级技术,找到了一个解决方法。他不仅提供了一个具体的解决方案,而且通过自己的经历分享了解决这类问题的思路和方法,以及对问题的深入...

    JS实现手写parseInt的方法示例

    标题和描述中提到的“JS实现手写parseInt的方法示例”涉及到JavaScript编程领域中的一个重要函数parseInt。parseInt函数是JavaScript中的内置函数,用于将一个字符串转换为指定基数的整数。手写parseInt不仅有助于...

    js parseInt的陷阱分析小结

    首先,我们来理解parseInt函数的基本用法。parseInt接受两个参数:第一个是要转换的字符串,第二个是可选的基数(radix),用来指定字符串的进制格式。如果第二个参数radix没有提供,或者是0,或者radix的值是16或2-...

    JS中parseInt()和map()用法分析

    本文实例讲述了JS中parseInt()和map()用法。分享给大家供大家参考,具体如下: parseInt()的几个例子 var b = parseInt("01"); alert("b="+b); var c = parseInt("09/08/2009"); alert("c="+c); ...

    Javascript中parseInt的正确使用方式

    本文将详细介绍parseInt的正确使用方法,确保读者能够更好地理解和掌握这一知识点。 首先,parseInt函数的语法是: ```javascript parseInt(string, radix) ``` 其中,`string`参数表示需要被解析的字符串,`...

    JavaScript的parseInt 进制问题

    如果你需要处理完整的日期字符串,可能需要使用不同的方法,如`Date`对象或者正则表达式。 总的来说,`parseInt`是一个强大的工具,但使用时需要注意其默认行为。始终指定第二个参数以确保你得到预期的结果,同时在...

    javaScript parseInt字符转化为数字函数使用小结

    下面将详细介绍parseInt函数的使用方法和技巧,并对一些常见问题进行解释。 ### parseInt函数基本概念 `parseInt` 函数可以接受两个参数,第一个是待转换的字符串,第二个是一个可选的基数参数(radix),用于指定...

    JavaScript的parseInt 取整使用

    Java 也有 Integer.parseInt() 方法, 但是 JavaScript 的 parseInt 处理方式与 Java 等强整型语言不太一样, 所以经常有人因为对这个方法的使用不当而获得异常返回. 下面是一段 Java 代码, 用于将字符串 020 转为整型...

    Javascript 函数parseInt()转换时出现bug问题

    因此,使用`parseFloat()`或者使用专门处理大数和精确计算的库(如`decimal.js`)可能是更好的选择。此外,使用`toFixed(n)`可以用来固定小数点后的位数,以确保显示的数值是准确的。 总的来说,理解`parseInt()`...

    JS使用parseInt解析数字实现求和的方法

    本文实例讲述了JS使用parseInt解析数字实现求和的方法。分享给大家供大家参考。具体如下: 在网页上使用JavaScript函数中的parseInt解析数字,并求和,有才吧,有空了研究一下。 运行效果如下图所示: 具体代码如下...

    javascript中parseInt()函数的定义和用法分析

    总结来说,parseInt()函数是一个在JavaScript编程中经常使用到的函数,它在解析数字字符串时非常有用,尤其是在需要将字符串形式的数字转换为整数形式时。但是,在使用时需要仔细考虑各种可能的进制情况,以避免解析...

    Javascript中使用parseInt函数需要注意的问题

    JavaScript中的parseInt函数是用于将字符串转换为整数的内置函数,但是在使用时有一些需要注意的问题。首先,parseInt函数在不同的浏览器环境下可能会有不同的默认行为,这在IE8及更早版本的浏览器中表现得尤为明显...

    javascript中全局对象的parseInt()方法使用介绍

    由于parseInt()方法涉及到字符串与整数之间的转换,以及进制的转换,因此,正确理解和使用parseInt()方法对开发JavaScript应用程序是非常关键的。 parseInt()的基本语法是: ``` parseInt(string, radix) ``` 其中...

Global site tag (gtag.js) - Google Analytics