`
上帝之子
  • 浏览: 13001 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

js错误:parseInt("08") 或者是parseInt("09");都是返回0

    博客分类:
  • js
 
阅读更多
对于parseInt("01")到parseInt("07");都能得到正确的结果,但如果是parseInt("08") 或parseInt("09")则返回0;
首先看parseInt语法:parseInt(string, radix);
其中string为要转换的字符串,radix为二进制,八进制,十六进制或十进制。
在默认不指定radix时,当以0x开关时,为十六进制;如果以0开关且第二位不为x,则让为是八进制,(因为八进制不能有8,9所以报错返回0)。
所以,在我们用时还是明确指定进位制,以防出错。

如我们平时都用十进制位,我们就 parseInt("08", 10);
分享到:
评论

相关推荐

    JavaScript中的ParseInt("08")和“09”返回0的原因分析及解决办法

    现在,让我们来详细说明JavaScript中的parseInt("08")和parseInt("09")返回0的原因及解决方法。 首先,正如上文所述,当parseInt()函数在接收到"0"开头的字符串时,会尝试按照八进制进行解析。由于八进制系统只使用...

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

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

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

    这是因为`parseInt()`将`"09"`识别为了八进制数,而八进制数不允许出现`8`或`9`,因此返回`0`。 **解决方案:** 为了避免这类问题,应该明确指定`radix`参数为`10`,即使用`parseInt("09", 10)`,这样可以确保始终...

    javascript中的parseInt和parseFloat区别

    在实际编程中,正确使用parseInt和parseFloat函数可以有效地帮助开发者处理和转换字符串中的数字,从而避免程序中出现数据类型错误或逻辑错误。在设计涉及字符串解析的应用时,对这些函数的行为和限制有一个清晰的...

    前端面试题之parseInt.zip

    例如,前导`0`在JavaScript中默认不会被视为八进制表示,除非明确指定基数为8。 2. **解析规则**:`parseInt`从字符串的开头开始解析,遇到非数字字符时停止。这意味着,如果字符串包含前导空格,`parseInt`会忽略...

    JS实现手写parseInt的方法示例

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

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

    变量c通过parseInt("09/08/2009")得到值0,因为解析到字符'9'时,解析停止,因为'9'不是有效的八进制数。在另一个例子中,parseInt("0119/08/2009")解析后的值为9,这是因为在八进制解析中,"011"能够被解析为八进制...

    JavaScript的parseInt 取整使用

    如果不指定radix参数,JavaScript会根据string的第一个字符来决定其基数:如果第一个字符是“0”,JavaScript会将该字符串解析为八进制数;如果第一个字符是“0x”或“0X”,则解析为十六进制数;如果没有这些特定...

    js parseInt(08)未指定进位制问题

    然而,由于八进制数不包含数字8和9,所以如果字符串中出现了8或9,解析会失败,并返回0(例如:`parseInt("08")`或`parseInt("09")`都会返回0)。 3. 如果没有明确的八进制或十六进制前缀,`parseInt()`会默认使用十...

    Javascript中parseInt的正确使用方式

    总结而言,parseInt函数在JavaScript中扮演着字符串到整数转换的重要角色,正确地使用这个函数可以避免许多常见的错误。开发者在编写涉及数字转换的代码时,应该仔细考虑radix参数的设置以及可能的前后空白字符的...

    javascript parseInt 大改造

    这就是为什么parseInt("08")返回0的原因,因为"08"不是一个有效的八进制数。 为了避免这类问题,作者建议明确指定parseInt函数的第二个参数,即基数。例如,要将"AF"解析为十六进制数,可以使用parseInt("AF", 16)...

    JavaScript的parseInt 进制问题

    在JavaScript中,如果一个字符串以`0`开头,`parseInt`默认会尝试将其解析为八进制数。这就是为什么在你的例子中,`"2009-05-05"`中的`"05"`被解析为八进制的5(即十进制的5),而不是你期望的十进制的5。八进制的5...

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

    3. **科学记数法**:`Number()`可以识别科学记数法,如`Number("1.23e-4")`将返回0.000123。 4. **基数(radix)**:`parseInt()`的第二个参数决定了字符串的进制,而`Number()`和`parseFloat()`默认处理十进制。 ...

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

    JavaScript中的parseInt()函数是用于将字符串转换为整数的内置函数。它能够解析一个字符串参数,并返回一个整数。此函数在处理可能以不同格式提供的数字字符串时特别有用,比如用户输入或者是来自外部数据源的字符串...

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

    由于八进制数中不存在数字“9”,所以parseInt会返回0。要解决这个问题,应明确指定基数为十进制: ```javascript var month = "09"; var monthNumber = parseInt(month, 10); // 现在会返回9 ``` ### 最佳实践 ...

    关于javascript中的parseInt使用技巧

    这就是为什么parseInt("08")和parseInt("09")返回0的原因。 2. 省略radix参数的风险:如果在调用parseInt时不明确指定radix参数,那么以"0"开头的数字字符串会错误地被解释为八进制,而不是十进制。这种情况下,...

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

    JavaScript中的parseInt()方法是全球对象提供的一个非常实用的内置函数,用于将字符串按照指定的进制数解析成整数。这一方法在处理用户输入、解析数据等场景中非常有用。由于parseInt()方法涉及到字符串与整数之间的...

    深入理解JS中Number(),parseInt(),parseFloat()三者比较

    在JavaScript中,转换数值的方法主要有`Number()`、`parseInt()`和`parseFloat()`,它们各自有特定的转换规则和应用场景。 1. **Number()** `Number()`函数可以将各种类型的数据转换为数值。以下是它的转换规则: ...

    ParseInt函数参数设置介绍

    `ParseInt`函数是JavaScript中的一个内置函数,用于将字符串转换为整数。这个函数的主要目的是解析一个包含数字字符的字符串,并返回相应的整数值。它有两个参数,但第二个参数是可选的。 第一个参数是必须的,它是...

Global site tag (gtag.js) - Google Analytics