如何在 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);
如何在 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);
做
var tenant_id_count = parseInt(tenant_id_int, 10);
这是因为如果您不指定基数,则以“0”开头的字符串将被解析为八进制(这对于“009”来说效果不佳,因此您会得到 0)。
来自MDN:
如果输入字符串以“0”开头,则基数为八(八进制)。这个特性是非标准的,一些实现故意不支持它(而是使用基数 10)。由于这个原因,在使用 parseInt 时总是指定一个基数。
要记住的最重要的事情是始终指定基数。