2012-10-05 15 views
8

cómo analizar en javascript que necesito valor de retorno como pero devuelve 0.
Pero cuando analizo 001 Devuelve 1.Analizando la cadena "009" como un entero en javascript?

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); 

Respuesta

18

hacer

var tenant_id_count = parseInt(tenant_id_int, 10); 

Esto se debe a una cadena que comienza con "0" se analiza como octal (que no funciona muy bien para "009", de ahí el 0 que obtienes) si no no especifique la raíz.

De the MDN:

Si la cadena de entrada comienza con "0", la base es de ocho (octal). Esta característica no es estándar, y algunas implementaciones deliberadamente no lo admiten (en cambio, usan el radix 10). Por esta razón siempre especifica una raíz cuando se usa parseInt.

Lo más importante que debe recordar es Siempre especifique la raíz.

+0

, 10 medios? ¿Puedes aclararlo? – Baskar

+0

Significa analizarlo como un número bes 10 (decimal). Las cadenas numéricas que comienzan con 0 se analizan automáticamente como base 8 – saml

Cuestiones relacionadas