如何在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);
答案 0 :(得分:18)
做
var tenant_id_count = parseInt(tenant_id_int, 10);
那是因为以“0”开头的字符串被解析为八进制(如果你没有指定基数,它对于“009”效果不好,因此得到的是0)。
来自the MDN:
如果输入字符串以“0”开头,则基数为八(八进制)。这个 功能是非标准的,有些实现故意不这样做 支持它(而不是使用基数10)。因此总是如此 使用parseInt时指定基数。
最重要的是要记住始终指定基数。