La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Java/26016-Como-pasar-de-String-a-Integer.html

Como pasar de String a Integer

Como pasar de String a Integer

Publicado por Gonzalo (2 intervenciones) el 28/01/2001 02:01:50
Soy un programador en Java muy, pero que muy novato y mi pregunta es muy estupida pero estoy atascado ¿Como puedo pasar de una variable tipo String a integer y viceversa?. En Visual Basic es con Val pero en Java... ¿ que palabra hay?.

RE:Como pasar de String a Integer

Publicado por Jose (53 intervenciones) el 28/01/2001 16:18:24
Hola. Todos hemos sido muy novatos, y de alguna siempre seguiremos siendolos, así que
no te preocupes.

Para convertir a String puedes usar los métodos de clase String

static String valueOf(double d)
static String valueOf(float f)
static String valueOf(int i)
static String valueOf(long l)
static String valueOf(boolean b)
static String valueOf(char c)
static String valueOf(char[] data)
static String valueOf(char[] data, int offset, int count)
static String valueOf(Object obj)

Tambien, ya especificamente para int, puedes usar los siguientes metodos
de la clase Integer

static String toString(int i)
si quieres la representación del int en base 10
static String toString(int i, int b)
si quieres la representacion del int en una base especifica b

Para convertir un String a un int puedes usar los siguientes metodos de la clase Integer

static int parseInt(String s)
si s representa un entero en base 10
static int parseInt(String s, b)
si s representa un entero en base b

Por ejemplo

String stringNumero = String.valueOf(32);
String stringNumero2 = Integer.toString(32); //Equivalente a la anterior
int otroNumerillo = Integer.parseInt("32");

RE:Como pasar de String a Integer

Publicado por Luis Colorado (1 intervención) el 14/06/2008 19:41:28
Pero cuando el valor de la cadena no es un valor numerico me devuelve una excepcion.


String miStr="hi";

int a=Integer.parseInt(miStr);

eso no me funciona... que hago


Gracias de antemano

RE:También se puede con los demás tipos numéricos

Publicado por Jose (53 intervenciones) el 28/01/2001 16:37:41
Puedes hacer lo mismo con los demás tipos primitivos

Para convertir a String

Byte.toString(byte n)
Short.toString(short n)
Integer.toString(int n)
Long.toString(long n)
Float.toString(float n)
Double.toString(double n)

Para convertir un String a un tipo numerico primitivo

Byte.parseByte(String s)
Short.parseShort(String s)
Integer.parseInt(String s)
Long.parseLong(String s)
Float.parseFloat(String s)
Double.parseDouble(String s)

Resumiendo. Para cualquier tipo numerico primitivo distinto de int

Tipo.toString( tipo n) ----->Convierte numero en String
Tipo.parseTipo( String s) ----->Convierte String en numerico tipo

La excepción es int

Integer.toString( tipo n)
Integer.parseInt( String s)

RE:Y los enteros puedes especificar la base

Publicado por Jose (53 intervenciones) el 28/01/2001 16:45:20
Para los tipos primitivos enteros puedes especificar la base a la hora de convertir desde cadenas

Byte.parseByte(String s, int base)
Short.parseShort(String s, int base)
Integer.parseInt(String s, int base)
Long.parseLong(String s, int base)

Y lo contrario sólo para int y long

Integer.toString(int i, int base)
Long.toString(long i, int base)

Otra forma

Publicado por Pedro Pablo (11 intervenciones) el 30/01/2001 14:27:40
Hola!
La verdad es que la contestación es magnífica, a si es que casi me da corte meterme...
Para convertir un valor numérico a cadena, hay otra forma, bastante cómoda, aunque quizá más ineficiente. Es la siguiente:

int n = 32;
String s = "" + n;

Lo que haces con la orden "" + 32 es realizar una suma DE CADENAS, pues el primer operando es una cadena. El compilador automáticamente convierte n a cadena, según su tipo, a si te ahorras escribir lo de Integer.toString(n).
Además es independiente del tipo de n, de modo que si luego modificas el código para que n sea, por ejemplo, long, no tienes que modificar y poner Long.toString.

De todas formas quizá sea más ineficiente, pues realiza la concatenación. Aunque tal vez el compilador se dé cuenta de que el primer operando es la cadena vacía y no la haga... La verdad es que no lo sé.

RE:Otra forma

Publicado por Jose (53 intervenciones) el 02/02/2001 19:43:41
¡Buen comentario Pedro Pablo!