在javascript中将字符串"009"解析为整数?

Bas*_*kar 8 javascript node.js

如何在javascript中解析009我需要返回值为9但它返回0.
但是当我解析001时它返回1.

var tenant_id_max = '3-009';
tenant_id_split = tenant_id_max.split("-");
var tenant_id_int = tenant_id_split[1];
var tenant_id_count = parseInt(tenant_id_int);
Run Code Online (Sandbox Code Playgroud)

Den*_*ret 18

var tenant_id_count = parseInt(tenant_id_int, 10);
Run Code Online (Sandbox Code Playgroud)

这是因为以"0"开头的字符串被解析为八进制(如果没有指定基数,则对于"009"不能很好地工作,因此得到0).

来自MDN:

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

要记住的最重要的事情是始终指定基数.