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

时间:2012-10-05 16:43:17

标签: 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);

1 个答案:

答案 0 :(得分:18)

var tenant_id_count = parseInt(tenant_id_int, 10);

那是因为以“0”开头的字符串被解析为八进制(如果你没有指定基数,它对于“009”效果不好,因此得到的是0)。

来自the MDN

  

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

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