带有前导零的Javascript parseInt() [英] Javascript parseInt() with leading zeros

查看:118
本文介绍了带有前导零的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

你无法解释。 试一试。 (jsFiddle)

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

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()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆