Supongo que estas con Actionscritp 2.. con el 3 no tendrias ese problema:
Ayuda de Flash escribió:
En ActionScript 3.0 la función Number() ya no admite números octales ( de base 8 ). Si se suministra una cadena con un cero inicial a la función Number() de ActionScript 2.0, el número se interpreta como un número octal y se convierte en su equivalente decimal. Esto no es así con la función Number() de ActionScript 3.0, que omite el cero inicial. Por ejemplo, el código siguiente genera resultados distintos cuando se compila con versiones distintas de ActionScript:
trace(Number("044"));
// ActionScript 3.0 44
// ActionScript 2.0 36
Osea que al poner el cero delante le estas pasando un numero de base 8, para pasarlo como decimal o le quitas el cero del string o le cambias la base.
Código :
var mi_cadena = "03300";
var mi_numero = Number(mi_cadena.substr(0, 3));
trace(mi_numero); //27
var mi_numero_decimal = parseInt(mi_cadena.substr(0, 3), 10);
trace(mi_numero_decimal); //33