本文介绍了带有前导零的Javascript parseInt()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Javascript的parseInt函数似乎不能完全正常工作。

Javascript's parseInt function does not seem to completely work.

parseInt("01") returns 1
parseInt("02") returns 2
parseInt("03") returns 3
parseInt("04") returns 4
parseInt("05") returns 5
parseInt("06") returns 6
parseInt("07") returns 7
parseInt("08") returns 0
parseInt("09") returns 0

你无法解释。

编辑由于此问题已被询问和回答,因此不推荐使用默认为八进制基数的功能 。 [] []

Edit Since this question was asked and answered, the "feature" of defaulting to octal radix has been deprecated. [1] [2]

推荐答案

这是因为如果数字以'0'开头,则将其视为基数8(八进制)。

This is because if a number starts with a '0', it's treated as base 8 (octal).

您可以通过将基数作为第2个来强制基数参数。

You can force the base by passing the base as the 2nd parameter.

parseInt("09", 10) // 9

根据,第二个参数是可选的,但它的并不总是假设为10,正如您从示例中看到的那样。

According to the docs, the 2nd parameter is optional, but it's not always assumed to be 10, as you can see from your example.

这篇关于带有前导零的Javascript parseInt()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-04 02:48
查看更多