本文介绍了为什么parseInt(“09”)返回0但parseInt(“07”)返回7?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

为什么

parseInt("09")

返回 0 但是

parseInt("07")

返回 7

推荐答案

0 开头的字符串的基数可以是八进制(当未指定基数 - 并且取决于浏览器。)

The base for strings starting with 0 can be octal (when a radix is not specified - and depending on the browser).

您正在寻找:

parseInt("09", 10)

请参阅 parseInt


  • 如果输入字符串以0x或0X开头,则基数为16(十六进制) 。

  • 如果输入字符串以0开头,则基数为8(八进制)。此功能是非标准的,有些实现故意不支持它(而是使用基数10)。因此,在使用parseInt时总是指定一个基数。

  • 如果输入字符串以任何其他值开头,则基数为10(十进制)。

radix 可选参数(我的例子中的第二个)的注释说这个:

The comments for the radix optional parameter (the second one in my example) says this:

这篇关于为什么parseInt(“09”)返回0但parseInt(“07”)返回7?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 16:41