Foros del Web » Creando para Internet » Flash y Actionscript »

Problema con int()

Estas en el tema de Problema con int() en el foro de Flash y Actionscript en Foros del Web. Alguien puede saber una posible causa de que la función int() devuelva un valor diferente? En resumen, tengo el siguiente problema : cont = "0016"; ...
  #1 (permalink)  
Antiguo 05/07/2008, 12:50
Avatar de gusma62  
Fecha de Ingreso: julio-2008
Ubicación: Tepatitlán, Jalisco, Mexico
Mensajes: 167
Antigüedad: 16 años, 4 meses
Puntos: 6
Problema con int()

Alguien puede saber una posible causa de que la función int() devuelva un valor diferente?
En resumen, tengo el siguiente problema :

cont = "0016"; //Tipo String, obio
temp = int(cont); //convierte a numero cont y lo guarda en temp
trace(temp); //Aquí está el problema, pues me devuelve 14

He notado que entre mayor valor tenga la variable cont, mayor es la diferencia al pasarlo por int(). Ya he revisado todo el código de mi pelicula buscando alguna posible causa pero no doy con nada raro. También he buscado en internet y al parecer no le habia pasado a alguien más. Estoy llegando a pensar que es un error de flash :P.
Saludos, y les agradecería una solución posible.
  #2 (permalink)  
Antiguo 05/07/2008, 16:30
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Respuesta: Problema con int()

Hola gusma62:
Bienvenido al Foro.
Desde Flash Player 5. Esta función está desfasada y en su lugar debe utilizarse Math.round().
En la Ayuda del programa tienes toda la información.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 06/07/2008, 10:12
Avatar de gusma62  
Fecha de Ingreso: julio-2008
Ubicación: Tepatitlán, Jalisco, Mexico
Mensajes: 167
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: Problema con int()

Gracias Bandit, pero estoy buscando simplemente convertir un string a int, no redondearla, aunque también probé Math.round() y ocurre el mismo problema! también he probado parseInt() y lo mismo: me devuelve un número más bajo:

cont = "0016";
trace(Math.round(cont));

Y devuelve 14! Necesito que devuelva 16.

También he notado que en la función:

var cargador_num:LoadVars = new LoadVars();
cargador_num.onLoad = function(exito) {
if (exito) {
numero= this.num;
}
else texto_mc.text = "Error!! :(";}
cargador_num.load("num.txt");

Solo reconoce a la variable numero dentro de la función, en cualquier lugar fuera de esta tiene el valor undefined aunque la variable sea global. ¿Por qué pasa esto?
  #4 (permalink)  
Antiguo 06/07/2008, 12:30
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Respuesta: Problema con int()

Escribe así el código:
cont= "0016.";
trace (Math.round(cont));

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #5 (permalink)  
Antiguo 06/07/2008, 13:43
Avatar de gusma62  
Fecha de Ingreso: julio-2008
Ubicación: Tepatitlán, Jalisco, Mexico
Mensajes: 167
Antigüedad: 16 años, 4 meses
Puntos: 6
Respuesta: Problema con int()

Problema resuelto!!

Quien hiba a pensar que un simple punto te causaria tantos problemas.
Lo bueno que existen foros como este para compartir conocimientos y experiencias.

Bandit, mis uñas te agradecen mucho :P, y yo tambien por supuesto.

Y no se si viste el otro problema que tengo con la función LoadVars, está aquí arribita: no puedo pasar valores obtenidos a otras variables. ¿Sabes por qué será?

Bueno, con el hecho de que ya pude convertir bien de string a int me doy por complacido y contento. De nuevo gracias! y saludos desde México amigo Peruano!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:21.