Tutoriales de aplicaciones y video juegos.
Aprende a crear apps, juegos y más!
  • Home
  • Android Studio
  • Unity
  • Blender
  • Inkscape
  • Autocad 2009
Android Studio

¿Como saber si un variable String es número o texto?

by admin March 18, 2020 No Comments
Switch en Android Studio
Split en Android Studio

En este tutorial se explica cómo saber si una variable String es un número o un texto. Aplica también para el contenido de un Edit Text. Creando un método que regresa una variable tipo Boolean que indica si es número o no. Este método funciona para cualquier variable String, así que se usa para saber si una variable tipo String es un número o un texto.

Comúnmente, se usa un Edit Text para la entrada de datos. Sin embargo, si nuestro código usa números para hacer cálculos, y de alguna manera el usuario ingresa algún carácter o palabra no numérica, o simplemente no ingresa nada, nuestro código va a fallar.

Si se requiere la entrada solamente de números se puede usar el siguiente comando dentro de Edit Text:

android:inputType="number"

Así el usuario solo ingresará números, sin embargo, aún así se recomienda usar el método que se explica a continuación, para evitar cualquier posible error.

El contenido del Edit Text se convierte a una variable String, y después hacer lo siguiente.

private EditText valor;
private String dato;
.
.
.
.

dato = valor.getText().toString();

Método para saber si una string es un número o no.

Para realizar esta tarea, se usará Float.parseFloat(valor) el cual tiene la cualidad de arrojar una excepción cuando no puede convertir la variable a tipo Float.

Para que no exista un error al momento de convertir se usara try/catch, donde:

  • Si todo sale bien se regresará el contenido en Try, que sera True.
  • Pero si algo salió mal, entonces se regresará el contenido en catch, que será False.

El código es el siguiente:

private boolean esNumero(String valor)
{
  try 
  {
     Float.parseFloat(valor);
     return true;
  } catch (NumberFormatException nfe)
  {
     return false;
  }
}

Sólo es cuestión de llamar a este método dándole una String, y regresara True (si es número) o False (si no es número).

El método esNumero(string), regresa una variable tipo Bool.

Dentro de este método se encuentra el Try/Catch.

En Try se coloca el código Float.parseFloat(valor) seguido por return true, lo que significa que completó exitosamente la acción anterior, por lo tanto va a regresar true, y no entrara al catch.

Pero si no pudo convertir la variable string a float, indica que no es un número, por lo tanto se ira al catch, donde se coloca el código return false, indicando que no es un número.

De esta manera nuestro método esNumero, nos dirá si es número o no.

Teniendo como entrada una variable tipo String y como salida una variable tipo Bool.

Llamando al método esNumero().

Para llamarlo simplemente se hace lo siguiente:

string dato = "HOLA"; 
bool num = esNumero(dato);   //El resultado sera num = false;

string dato = "11.3"; 
bool num = esNumero(dato); //El resultado sera num = true;
 

Para más tutoriales de Android Studio, puedes ir al nuestra sección de Android Studio.

Switch en Android Studio
Split en Android Studio
  • Previous Recortar dibujo, Inckscape1 year ago
  • Next Split en Android Studio1 year ago

Categories

  • matplotlib
  • Swift
  • Kotlin
  • Arduino
  • Algebra
  • Matematicas
  • Excel
  • Doodly
  • Autocad 2009
  • Personajes 3D
  • Código
  • Animaciones 2D
  • Personajes 2D
  • Navegando en Unity
  • Android Studio
  • Blender
  • Inkscape
  • Python
  • Unity

Recent Posts

  • Tipos de marcadores, Matplotlib Python.
  • Tipos de líneas predeterminadas y personalizadas, Matplotlib Python.
  • Graficar en Python. Tipos de líneas, colores y marcadores en matplotlib.
  • Python matplotlib colores predeterminados y hexadecimal.
  • Swift, Sentencia Switch (elegir entre varias opciones)
2021 Tutoriales de aplicaciones y video juegos.. Donna Theme powered by WordPress
Usamos Cookies para mejorar la experiencia del usuario, mostrandole contenido y anuncios personalizados. Si usted continua utilizando este sitio asumiremos que esta de acuerdo. Aceptar Cancelar Leer Más
Cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.

SAVE & ACCEPT