SoloCodigo

Programación General => Java => Mensaje iniciado por: nicokiki en Lunes 15 de Marzo de 2004, 13:55

Título: Parseo A Int
Publicado por: nicokiki en Lunes 15 de Marzo de 2004, 13:55
Hola a todos!!!!!

Tengo una pregunta mas q tonta pero q me esta complicando la cosa.
Hay veces en las q uso esto para convertir de string a int:
int x = Integer.parseInt(MiString);

y hay veces q esta linea me da error.
Si alguien sabe cuales son las maneras de convertir de Srting a Int, se loas agradecere

Salu2!!!!!! y Gracias de Antemando!!!!!!! :D
Título: Re: Parseo A Int
Publicado por: gothmog en Lunes 15 de Marzo de 2004, 14:45
Que errores te da? Lo unico que se me ocurre es que intentes parsear algo que o no es un numero o no es un entero. En este ultimocaso puedes usar Long.parseLong o Float.parseFloat
Título: Re: Parseo A Int
Publicado por: nicokiki en Lunes 15 de Marzo de 2004, 15:29
La verdad es q creo q me tiraba NumberFormnatException. Pero esta conversion la hacia en un TRY - CATCH y dejaba de tirar es excepcion y empezo a tirar java.lang.Integer.ParseInt() error o algo asi. Disculpa que no me acuerod bien de esto, pasa q estoy en el trabajo y no lo recuerdo y no tengo el codigo como para probarlo.

Salu2!!!!

P.D.: si a alguien se le ocurre otra manera de convertir de String a int q no sea la q yo uso, avisenme
Título: Re: Parseo A Int
Publicado por: gothmog en Lunes 15 de Marzo de 2004, 18:20
Si lanza NumberFormatException es porque estas intentando convertir algo que no es un numero.

Siempre puedes hacer la conversion a mano  :D Te haces un metodo y ya esta.
Título: Re: Parseo A Int
Publicado por: villalain en Martes 6 de Abril de 2004, 13:47
Lo unico que tienes que hacer es chequear que tu variable MiString no venga vacia "", " ", null, o con caracteres no propios de un numero entero como puede ser "3,9" o "5.8" (punto o coma decimal).
Para tener en cuenta estos errores mira este codigo.

public static int devuelveInt( String MiString ){
      
int x = 0;
      
      try{
         x = Integer.parseInt(MiString);   
      }
      catch( java.lang.NumberFormatException nfe ){
         nfe.printStackTrace();
         x = Integer.MIN_VALUE;
      }
      finally{
         return x;
      }
   }