how convert java string int tutorial with examples
Este tutorial explica las formas de convertir Java String a Integer usando los métodos Integer.parseInt y Integer.ValueOf con ejemplos de código:
Cubriremos los siguientes dos métodos estáticos de clase Integer que se utilizan para convertir Java String en un valor int:
- Integer.parseInt ()
- Integer.valueOf ()
=> Consulte TODOS los tutoriales de Java aquí
Lo que vas a aprender:
- Conversión de cadena Java a Int
- Conclusión
Conversión de cadena Java a Int
Consideremos un escenario en el que tenemos que realizar algún tipo de operación aritmética en un número, pero este valor numérico está disponible en forma de cadena. Supongamos que el número se recupera como un texto que proviene del campo de texto de una página web o del área de texto de una página web.
En tal escenario, primero tenemos que convertir esta Cadena para recuperar números en un formato entero.
Por ejemplo, consideremos un escenario en el que queremos sumar 2 números. Estos valores se recuperan como texto de su página web como '300' y '200' y queremos realizar una operación aritmética en estos números.
Comprendamos esto con la ayuda de un código de muestra. Aquí, estamos tratando de sumar 2 números '300' y '200' y asignarlos a la variable 'c'. Cuando imprimimos 'c', esperamos que la salida en una consola sea '500'.
|_+_|Pero, en el programa anterior, la salida real impresa en la consola es
'Valor c variable -> 300200' .
transportador de extremo a extremo marco de prueba para aplicaciones de angularjs
¿Cuál podría ser la razón para imprimir esta salida?
La respuesta a esto es que, cuando hicimos a + b, está usando el operador '+' como concatenación. Entonces, en c = a + b; Java está concatenando las cadenas ayb, es decir, está concatenando dos cadenas '300' y '200' e imprimiendo “300200”.
Entonces, esto sucede cuando intentamos agregar dos cadenas:
Entonces, ¿qué se debe hacer si queremos sumar estos dos números?
Para esto, primero necesitamos convertir estas cadenas en números y luego realizar una operación aritmética con estos números. Para convertir Java String a int, podemos usar los siguientes métodos proporcionados por la clase Java Integer.
- Integer.parseInt ()
- Integer.valueOf ()
Veamos estos métodos uno por uno en detalle.
# 1) Usando el método Java Integer.parseInt ()
El método parseInt () lo proporciona la clase Integer. La clase Integer se denomina clase Wrapper ya que envuelve un valor del tipo primitivo int en un objeto.
Echemos un vistazo a la firma del método a continuación:
public static int parseInt (String str) lanza NumberFormatException
public static Integer valueOf (String str) arroja NumberFormatException
Este es un método estático proporcionado por la clase Integer que devuelve un objeto de una clase Integer que tiene un valor especificado por el objeto String que se le pasa. Aquí, la interpretación del argumento pasado se realiza como un entero decimal con signo.
Es el mismo que el argumento pasado al método parseInt (java.lang.String). El resultado devuelto es un objeto de clase Integer que representa el valor entero especificado por String. En palabras simples, el método valueOf () devuelve un objeto Integer igual al valor de
new Integer (Integer.parseInt (str))
Aquí, el parámetro 'str' es una cadena que contiene la representación entera y el método devuelve un objeto Integer que contiene el valor representado por 'str' en el método.
Este método arroja una excepción NumberFormatException cuando la cadena no contiene un entero analizable.
Método Integer.parseInt () para cadena sin signos
Intentemos entender cómo usar este método Integer.parseInt () en el mismo programa Java que hemos visto en nuestra muestra anterior.
|_+_|Aquí está la salida del programa:
Valor de x variable -> 300
Variable y value —>200
Valor de c variable -> 500
Entonces, ahora, podemos obtener el resultado deseado, es decir, la suma de los dos números que están representados como texto al convertirlos en un valor int y luego realizar una operación adicional en estos números.
Método Integer.parseInt () para cadena con signos
Como se ve en la descripción del método Integer.parseInt () anterior, el primer carácter puede ser un signo menos ASCII '-' para la indicación de un valor negativo o un signo más ASCII '+' para la indicación de un valor positivo valor. Probemos el mismo programa con un valor negativo.
Veamos el programa de muestra con valores y signos como '+' y '-'.
Usaremos los valores de cadena con signo como '+75' y '-75000' y los analizaremos a números enteros y luego los compararemos para encontrar un número mayor entre estos 2 números:
|_+_|Aquí está la salida del programa:
Valor de x variable -> 75
Variable y value —>-75000
El número más grande es -> 75
Método Integer.parseInt () para cadenas con ceros a la izquierda
En algunos casos, también necesitamos tener operaciones aritméticas con los números con ceros a la izquierda. Veamos cómo convertir una cadena que tiene un número con ceros a la izquierda en un valor int usando el método Integer.parseInt ().
Por ejemplo, en algunos sistemas de software de dominio de finanzas, es un formato estándar tener un número de cuenta o una cantidad con ceros a la izquierda. Como, en el siguiente programa de muestra, estamos calculando el monto de vencimiento del monto del depósito fijo usando la tasa de interés y el monto del depósito fijo.
Aquí, la cantidad se especifica utilizando ceros a la izquierda. Estos valores de cadena con ceros a la izquierda se analizan en valores enteros utilizando Integer.
método parseInt () como se ve en el siguiente programa:
|_+_|Aquí está la salida del programa:
Tiene una cantidad de depósito fijo -> 10000 INR
Tiene una tasa de interés de depósito fijo -> 6% INR
Su monto de depósito fijo al vencimiento es -> 00010600 INR
Entonces, en el programa de muestra anterior, estamos pasando '00010000' al método parseInt () e imprimiendo el valor.
|_+_|Veremos el valor mostrado en la consola ya que tiene un monto de depósito fijo -> 10000 INR
Aquí, mientras se convierte en un valor entero, se eliminan los ceros iniciales.
Luego, calculamos el monto de vencimiento del depósito fijo como un valor entero '10600' y formateamos el valor del resultado usando el especificador de formato% 08 para recuperar los ceros iniciales.
|_+_|Cuando imprimimos el valor de String formateado,
|_+_|Podemos ver que la salida se imprime en la consola como Su monto de depósito fijo al vencimiento es -> 00010600 INR
NumberFormatException
En la descripción de Integer.parseInt () método, también hemos visto una excepción lanzada por el método parseInt () es decir NumberFormatException.
Este método arroja una excepción, es decir, NumberFormatException cuando la cadena no contiene un entero analizable.
Entonces, veamos el escenario en el que se lanza esta excepción.
Veamos el siguiente programa de muestra para comprender este escenario. Este programa solicita al usuario que ingrese el porcentaje obtenido y devuelve la calificación recibida. Para esto, analiza el valor String ingresado por el usuario a un valor entero.
|_+_|Aquí está la salida del programa:
Probemos con 2 valores de entrada diferentes ingresados por el usuario.
1. Con valor entero válido
Ingrese el porcentaje que obtuvo: 82
El valor porcentual es -> 82
Has pasado con distinción
2. Con un valor entero no válido
Ingrese el porcentaje que obtuvo: 85a
Excepción en el hilo 'principal' java.lang.NumberFormatException: para la cadena de entrada: '85a'
en java.lang.NumberFormatException.forInputString (Fuente desconocida)
en java.lang.Integer.parseInt (fuente desconocida)
en java.lang.Integer.parseInt (fuente desconocida)
en com.softwaretestinghelp.StringIntDemo3.main (StringIntDemo3.java:26)
Entonces, como se ve en la salida del programa,
# 1) Cuando el usuario ingresa un valor válido, es decir, 82 como entrada, la salida que se muestra en la consola es la siguiente:
El valor porcentual es -> 82
Has pasado con distinción
# 2) Cuando el usuario ingresa un valor no válido, es decir, 85a como entrada, la salida que se muestra en la consola es la siguiente:
Ingrese el porcentaje que obtuvo: 85a
Excepción en el hilo 'principal' java.lang.NumberFormatException: para la cadena de entrada: '85a'
en java.lang.NumberFormatException.forInputString (Fuente desconocida)
en java.lang.Integer.parseInt (fuente desconocida)
en java.lang.Integer.parseInt (fuente desconocida)
en com.softwaretestinghelp.StringIntDemo3.main (StringIntDemo3.java:26)
Se lanza java.lang.NumberFormatException mientras se analiza 85a en el método Integer.parseInt () ya que '85a' tiene el carácter 'a' que no es un dígito decimal ni un signo ASCII '+' o '-' es decir, '85a' no es el analizable integer para el método Integer.parseInt ().
Entonces, esta fue una de las formas de convertir Java String a int. Veamos la otra forma en que Java convierte String en int, es decir, usando el método Integer.valueOf ().
# 2) Usando Integer. Método valueOf ()
El método valueOf () también es un método estático de clase Integer.
Echemos un vistazo a la firma del método a continuación:
public static int parseInt (String str) lanza NumberFormatException
Este es un método estático proporcionado por la clase Integer que devuelve un objeto de classInteger que tiene un valor especificado por el objeto String que se le pasa. Aquí, la interpretación del argumento pasado se realiza como un entero decimal con signo.
Es el mismo que el argumento pasado al método parseInt (java.lang.String). El resultado devuelto es un objeto de clase Integer que representa el valor entero especificado por String. En palabras simples, el método valueOf () devuelve un objeto Integer igual al valor de nuevo Entero (Integer.parseInt (str))
Aquí, el parámetro 'str' es una cadena que contiene la representación entera y el método devuelve un objeto Integer que contiene el valor representado por 'str' en el método. Este método arroja la excepción NumberFormatException cuando la cadena no contiene un entero analizable.
Comprendamos cómo usar este método Integer.valueOf ().
A continuación se muestra un programa de muestra. Este código de muestra calcula la temperatura promedio de 3 días de la semana. Aquí, para convertir la temperatura, los valores se asignan como un valor de cadena a un valor entero. Para esta conversión de cadena a entero, intentemos usar el método Integer.valueOf ().
|_+_|Aquí está la salida del programa:
Valor de temperatura del domingo -> - 2
Valor de temperatura del lunes -> 4
Martes Valor de temperatura -> 6
Temperatura promedio durante 3 días -> 2
Ejercicio: Si podemos convertir valores de cadena como se ve arriba, podemos probar cadenas con un punto decimal
Por ejemplo, en lugar de “-2”, ¿podemos probar con “-2,5”?
Pruebe el código de muestra anterior con el método parseInt () o valueOf () asignando String sundayTemperature = “-2.5”;
Pista: Lea la firma del método nuevamente sobre los valores analizables.
Responder: Si prueba el programa de muestra anterior con String domingoTemperatura = '-2.5, arrojará NumberFormatException ya que los valores del argumento String para parseInt () y valueOf () son ASCII más '+' o menos '-' signo y dígitos decimales.
Entonces, obviamente '.' No es válido. Además, como estos dos métodos son proporcionados por la clase Integer, los valores de punto flotante como '2.5' serían valores no analizables para estos métodos.
Por lo tanto, hemos analizado los dos métodos de la clase Integer para convertir un String en int en Java.
Preguntas frecuentes sobre la conversión de cadenas a int en Java
P # 1) ¿Cómo puedo convertir String a int en Java?
Responder: En Java String to int, la conversión se puede realizar de dos formas, es decir, utilizando los siguientes métodos de métodos de clase Integer:
- Integer.parseInt ()
- Integer.valueOf ()
P # 2) ¿Cómo se analiza un número entero?
Responder: La clase Integer proporciona métodos estáticos que se utilizan para analizar un valor entero para convertir String en un valor int, es decir, parseInt () y valueOf ().
P # 3) ¿Qué es parseInt ()?
Responder: parseInt () es un método estático proporcionado por la clase Integer que se utiliza para convertir Java String en valor int donde el valor String se pasa como un argumento y el valor entero es devuelto por el método.
Por ejemplo, int x = Integer.parseInt ('100') devuelve el valor int 100
P # 4) ¿Qué es el análisis sintáctico en Java?
Responder: El análisis en Java es básicamente la conversión del valor de un objeto de un tipo de datos a otro tipo de datos. Por ejemplo, Integer.valueOf (str) convierte 'str', que es un objeto de tipo de datos String en un objeto de tipo de datos Integer.
Conclusión
En este tutorial, exploramos cómo convertir String a int en Java usando los siguientes métodos estáticos de la clase contenedora Integer:
- Integer.parseInt ()
- Integer.valueOf ()
También cubrimos el caso en el que se lanza NumberFormatException para un número String no válido.
Más lecturas = >> 8 métodos para convertir Integer a Sting en Java
=> Explore la serie de capacitación simple de Java aquí
Lectura recomendada
- Tutorial Java String con String Buffer y String Builder
- Tutorial de cadenas de Java | Métodos de cadena de Java con ejemplos
- Cadena inversa de Java: tutorial con ejemplos de programación
- Tutorial del método Java String contains () con ejemplos
- Método Java String length () con ejemplos
- Tutorial de JAVA para principiantes: más de 100 tutoriales prácticos en vídeo de Java
- Clase Java Integer y Java BigInteger con ejemplos
- Método Java substring () - Tutorial con ejemplos