Javascript中parseInt("08")返回的值会是什么,0还是8 ?如果你的回答是8 ,那么你就应该注意一下将会提到的这个不算是问题的问题。
以前在项目中遇到这个问题,在日期处理的时候需要对用户选择的月份(两位的字符串)进行转化和计算,然而选择8月或9月时计算出的结果是错误的,后来调试的时候发现parseInt函数引起的。parseInt("01")到parseInt("07")都能返回正确的数值,而parseInt("08")和parseInt("09")返回的值却都是0。
查找了JS的文档后发现这个问题发生的原因是前面的"0",parseInt方法有一个可选参数来表示数字的进制,以"0"作为首字符的字符串会被JS识别为八进制数并将没有指定数字进制参数的参数值默认为8,从而以八进制来解析字符串,而"08"和"09"都不是合法的八进制数,所以被解析为0。
实际上,这是个不注意细节引起的问题,显式设置进制参数的parseInt根本不会出现这个问题,parseInt("08",10)或parseInt("09",10)都能返回正确的数值。另外,parseFloat不会存在这个问题。
转载自:http://blog.sina.com.cn/s/blog_4fd11d0a01008ity.html
分享到:
相关推荐
parseInt(number,type)这个函数后面如果不跟第2个参数来表示进制的话,默认是10进制。比如说parseInt(“010”,10)就是10进制的结果:10,parseInt(“010”,2)就是2进制的结果:2,parseInt(“010”,8)就是8进制的...
### JavaScript中的`parseInt`函数分析 #### 一、引言 在JavaScript编程中,`parseInt`函数是一个常用且重要的函数,用于将字符串转换为整数。然而,在使用`parseInt`时,开发者可能会遇到一些意料之外的行为,...
在JavaScript的世界里,`parseInt()`函数是一个非常常见且重要的转换工具,它用于将字符串转换为整数。然而,由于其特定的行为和潜在的陷阱,它也有可能成为开发过程中的一个“惨案”。在这个主题中,我们将深入探讨...
JavaScript中的parseInt函数是用于将字符串转换为整数的内置函数,但是在使用时有一些需要注意的问题。首先,parseInt函数在不同的浏览器环境下可能会有不同的默认行为,这在IE8及更早版本的浏览器中表现得尤为明显...
#### 二、parseInt函数详解 ##### 1. 定义 `parseInt`函数的主要作用是解析一个字符串并返回一个整数。该函数可以接受两个参数:一个是待解析的字符串,另一个是基数(可选)。基数用于指定待解析字符串的进制,...
在JavaScript编程中,`parseInt()`函数是一个非常常用的工具,用于将字符串转换成整数。然而,这个函数在处理特定情况时可能会出现不预期的行为,正如标题和描述中提到的“bug问题”。这个问题主要体现在当`parseInt...
JS中有三种函数可以将非数值转换成数值:Number()、parseInt()和parseFloat()。接下来通过本文详细的给大家介绍JS转换数值函数Number()、parseInt()、parseFloat()的实例代码,感兴趣的朋友一起看看吧
js parsefloat parseint JavaScript提供了3个显式的类型转换函数,分别是eval()、parseInt()和parseFloat()。 eval()函数:将字符串表达式转换成数字值。例如,语句total=eval(“432.1*10”)...
`JavaScript`中的`parseInt`和`Number`函数都是用来将字符串转换为数字的,但它们在处理字符串的方式上存在显著的差异。 `parseInt`函数的主要功能是解析一个字符串参数,并根据指定的基数(radix)返回一个整数。...
根据给定文件的信息,我们可以总结出关于JavaScript中的几个重要系统函数的知识点,这些知识点主要集中在URI编码解码、数字解析以及数值判断上。 ### 1. URI 编码与解码 #### 1.1 `encodeURI()` - **功能**:`...
在深入探讨JavaScript函数的广泛应用与特性之前,让我们首先明确一点:JavaScript函数不仅是编程语言中的核心组件,更是实现复杂逻辑、封装功能模块的关键所在。不同于许多传统面向对象的语言,JavaScript通过其独特...
主要介绍了JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法,因转换的字符串数字都以0开头,导致parseInt函数在浏览器和Android WebView中转换结果不一样,本文给出了解决方法,需要的朋友可以参考下
### JavaScript中的parseInt函数详解 #### 一、概述 在JavaScript编程中,`parseInt()`函数是一个非常重要的工具,用于将字符串转换成整数。它在处理数据格式化、表单验证等场景时尤其有用。本文旨在深入探讨`...
JavaScript中的parseInt()函数是用于将字符串转换为整数的内置函数。它能够解析一个字符串参数,并返回一个整数。此函数在处理可能以不同格式提供的数字字符串时特别有用,比如用户输入或者是来自外部数据源的字符串...
### JavaScript `parseInt()` 函数的进制转换注意事项 #### 概述 `parseInt()` 是 JavaScript 中一个非常常用的方法,主要用于将字符串转换成整数。它接受两个参数:第一个参数是要转换的字符串,第二个参数则是该...
根据给定文件的信息,我们可以提炼出JavaScript中关于函数、事件及对象的相关知识点。接下来将对这些知识点进行详细的解析与说明。 ### JavaScript中的函数 #### 基本概念 在JavaScript中,函数是一段可重用的代码...
### JavaScript的parseInt函数详解 #### 一、概述 在JavaScript编程语言中,`parseInt`函数是一种常用的方法,用于将字符串转换为整数。虽然大多数开发者对其基本用途有所了解,但在某些特定情况下,`parseInt`的...