2012-10-05 5 views
8

wie in Javascript analysieren ich brauche Rückgabewert als aber es gibt 0 zurück
Aber wenn ich 001 analysieren gibt es 1.Parsen der Zeichenfolge "009" als Integer in 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); 

Antwort

18

Do

var tenant_id_count = parseInt(tenant_id_int, 10); 

Das ist, weil ein String mit „0“ ab als Oktal analysiert wird (was nicht sehr gut für „009“ funktioniert, daher der 0 Sie erhalten), wenn Sie don Geben Sie nicht die Radix an.

Von the MDN:

Wenn die Eingabezeichenfolge beginnt mit "0", Radix ist acht (Oktal). Diese -Funktion ist nicht standardisiert, und einige Implementierungen unterstützen diese nicht (stattdessen mit radix 10). Aus diesem Grund geben Sie immer an, wenn Sie parseInt verwenden.

Die wichtigste Sache zu erinnern ist immer die radix angeben.

+0

, 10 bedeutet? Kannst du es klären? – Baskar

+0

Es bedeutet, es als Bes 10 (Dezimal) Nummer zu analysieren. Zahlenstrings, die mit einer 0 beginnen, werden automatisch als Basis 8 analysiert – saml