`

JS类型转換parseInt应注意的问题

阅读更多

http://www.blogjava.net/smcdl/archive/2008/11/14/240447.html

http://hanxin830311.iteye.com/blog/181125

http://www.fzs8.net/Java/JavaScript/2007-05-25/3983.html

javascript的parseInt函数,大家都知道是干啥的
但你知道
parseInt("07") 返回多少 ?
parseInt("08") 又返回多少 ?

正确答案是
parseInt("07") 返回7
parseInt("08") 返回0

你知道问题在哪?
其实,这个问题可能大家都没想过吧。

用javascript的parseInt函数时,
parseInt("08")或者parseInt("09")返回的居然是0,
而parseInt("01")...parseInt("07")都是正确的。

为什么这样呢?
一开始很难理解,后来发现出现这个问题的原因是当在前面有"0"时,
javascript的debugger会认为这是一个八进制数,
而"08"和"09"不是一个合法的八进制数,
所以导致了那个问题,但是parseFloat不会存在这个问题。

javascript参考中parseInt()函数是如此描述:

parseInt 方法
返回由字符串转换得到的整数。将字符串转换成整型。

parseInt(numString, [radix])

parseInt的参数radix

可选项。在 2 和 36 之间的表示 numString 所保存数字的进制的值。如果没有提供,则前缀为 '0x' 的字符串被当作十六进制,前缀为 '0' 的字符串被当作八进制。所有其它字符串都被当作是十进制的。

因此,如果使用parseInt("08",10)或者parseInt("09",10),
通知javascript解释器使用十进制来解析就可以得到你要的数字。

附:
parseInt("abc") // 返回 NaN。
parseInt("12abc") // 返回 12。

分享到:
评论

相关推荐

    转换类型(转换为数字)转换类型Number()、parseInt()、parseFloat的区别

    在 JavaScript 中,转换类型是指将其他数据类型转换为数字类型的过程。其中,Number()、parseInt()、parseFloat() 是三个常用的转换类型函数,每个函数都有其独特的特性和处理方式。 一、Number() 函数 Number() ...

    js数据类型转换

    总之,`parseInt()`和`parseFloat()`是JavaScript中非常实用且强大的工具,它们可以帮助开发者有效地处理字符串和数字之间的转换问题。通过深入了解这些函数的工作机制和应用场景,开发者可以编写出更加高效和可靠的...

    Javascript的数据类型转换

    虽然它能方便地格式化数字,但需要注意,由于JavaScript的浮点数精度问题,`toFixed()` 的结果可能不完全精确。 在JavaScript编程中,理解这些转换方法及其工作原理至关重要,因为它们经常在处理用户输入、数据验证...

    javascript parseInt() 函数的进制转换注意细节.docx

    ### JavaScript `parseInt()` 函数的进制转换注意事项 #### 概述 `parseInt()` 是 JavaScript 中一个非常常用的方法,主要用于将字符串转换成整数。它接受两个参数:第一个参数是要转换的字符串,第二个参数则是该...

    javascript最常用数据类型转换(最全).doc

    在 JavaScript 中,可以使用多种方法将其他类型转换为数值类型,包括 Number() 方法、parseInt() 方法、parseFloat() 方法等。 1. Number() 方法 Number() 方法可以将任何类型转换为数值类型。如果要转换的字符串...

    js类型转换js类型转换

    JavaScript 的类型转换机制非常灵活但也容易引发错误,因此在编码时需要特别注意。理解并熟练掌握这些转换规则有助于编写更安全、更高效的代码。希望本文能帮助你更好地理解和运用 JavaScript 中的类型转换功能。

    Javascript类型转换的规则实例解析

    JavaScript类型转换是编程中非常重要的一个概念,它描述了在运算过程中,不同数据类型之间的自动或手动转换行为。JavaScript语言是动态类型的,这意味着你可以在运行时改变变量所存储值的类型,而这正是类型转换的...

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

    在JavaScript编程中,`parseInt()`函数是一个非常常用的工具,用于将字符串转换成整数。然而,这个函数在处理特定情况时可能会出现不预期的行为,正如标题和描述中提到的“bug问题”。这个问题主要体现在当`parseInt...

    javascript字符型转换成整型

    在JavaScript编程语言中,字符型数据(通常指字符串类型)转换为整型数据是一项常见的操作需求,尤其是在处理用户输入、解析数据或进行数值计算时。本文将深入探讨如何利用JavaScript来实现这一转换,并在此过程中...

    js数值计算时使用parseInt进行数据类型转换(jquery)

    为了解决这个问题,可以使用JavaScript内置的parseInt函数来进行数据类型的转换。parseInt函数可以将字符串转换为整数。它解析一个字符串参数,并尝试返回一个指定基数的整数(基数默认为10)。如果转换开始的某些...

    js parsefloat parseint 转换函数

    js parsefloat parseint JavaScript提供了3个显式的类型转换函数,分别是eval()、parseInt()和parseFloat()。 eval()函数:将字符串表达式转换成数字值。例如,语句total=eval(“432.1*10”&#41...

    JS 数据类型转换

    JavaScript是一种动态类型的编程语言,它的数据类型转换是其核心特性之一。在JS中,有七种内置的数据类型:Undefined、Null、Boolean、Number、BigInt、String和Symbol(ES6新增)。此外,还有一种特殊的类型——...

    javascript 数据类型转换(parseInt,parseFloat)

    在JavaScript中,数据类型转换是编程过程中不可或缺的一部分,因为JavaScript是一种动态类型语言,变量的数据类型可以在运行时改变。本文将详细讲解两种数据类型转换的方法,以及`parseInt`和`parseFloat`这两个常用...

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

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

    20200424 基于JavaScript Number类型 Number() 、 parseInt() 和 parseFloat() 的转换规则.zip

    `Number()`、`parseInt()`和`parseFloat()`是处理字符串转换为数值的关键函数,对于理解和编写JavaScript代码至关重要。本篇文章将详细阐述这三个函数的转换规则。 首先,我们来看`Number()`函数。这个函数可以尝试...

    js类型转换.pdf

    JavaScript中的类型转换是编程过程中非常重要的一个概念,它涉及到数据类型的自动转换和显式转换。在JavaScript中,数据类型分为两大类:基本类型(原始类型)和引用类型。基本类型包括Undefined、Null、Boolean、...

    JS任意进制转换.rar

    在JavaScript(JS)编程中,进制转换是一项基础但重要的技能。这通常涉及到将数字从一种进制(如十进制、二进制、八进制或十六进制)转换为另一种进制。"JS任意进制转换.rar"这个压缩包文件很可能包含了一个易语言...

    关于js中字符串转换成数字的问题

    ### 关于JS中字符串转换成数字的问题 在JavaScript(简称JS)编程中,字符串与数字之间的转换是一项常用且重要的操作。对于开发人员来说,能够熟练掌握这些转换方法是十分必要的。根据提供的信息,本文将详细介绍...

    【JavaScript源代码】JavaScript parseInt()与Number()区别案例详解.docx

    JavaScript中的`parseInt()`和`Number()`函数都是用来将非数字的字符串转换成数值类型,但它们之间存在一些关键的区别。本文将深入探讨这两个函数的工作原理和应用场景。 `parseInt()`函数主要用于将一个字符串解析...

    JavaScript程序设计课件:数据类型转换.pptx

    在这份"JavaScript程序设计课件:数据类型转换"中,主要讲解了如何在JavaScript中进行数据类型的转换,主要包括获取数据类型的方法以及三种主要的数据类型转换:字符串转换、数字转换和布尔型转换。 首先,了解数据...

Global site tag (gtag.js) - Google Analytics