C sharp - Isnumeric en c#?

 
Vista:

Isnumeric en c#?

Publicado por sivis (1 intervención) el 11/02/2004 11:49:54
Existe algo parecido al IsNumeric de java en c#? Sino como se puede saber si lo que recibo es entero?
gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Isnumeric en c#?

Publicado por Yamil Bracho (1164 intervenciones) el 11/02/2004 15:48:04
Puedes usar la clase Convert y el metodo ToInt32. Este metodo te retorna tres excepciones que son ArgumentException, si el parametro es null, FormatException si hay un caracter que no es numerico en el parametro y OverflowException que indica que la conversion da un numero que excede la capacidad de un int

Todo esto colocalo en un try catch
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Isnumeric en c#?

Publicado por La la la (1 intervención) el 22/02/2004 18:54:39
No lo acabo de entender, me podrias decir un ejemplo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Isnumeric en c#?

Publicado por Edgar (278 intervenciones) el 28/02/2004 02:45:07
Hola

Puedes hacer una referencia a Microsoft.VisualBasic.dll y usar la siguiente función...

Microsoft.VisualBasic.Information.IsNumeric( Object )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Isnumeric en c#?

Publicado por punka (1 intervención) el 05/03/2008 22:04:24
Es muy facil lo que trata de decir es que...

supongamos k declaraste una variable 'x' y en ella almacenaras el valor de una caja de texto entonces el codigo quedaria asi.

int x;
x=convert.ToInt32(textBox1.Text);

si lo que hay en la caja de texto no es numerico te mandara un error.

Ahora bien lo que se te explica es que te lo pongas en un try catch para que te cache el error; y entonces el codigo quedaria asi.

int x;
try
{
x=convert.ToInt32(textBox1.Text);
}

catch
{
MessageBox.Show("Error solo se permiten numeros" , "ERROR" , MessageBoxButtons.OK , MessageBoxIcon.Error);
textBox1.Text="";
textBox1.Focus();
}

con esto quedaria te cacharia el error de que no introdujiste puros numeros te manda un mensaje diciendotelo y te borra lo que hay en la caja de texto.

NOTA: El algoritmo puede tronar no solo si no le ingresas puros numeros si no tambien cuando el numero es demaciado grande que la variable no lo pueda sostenet para esto tendrias que usar el ToInt32 y declarar la variabloe del tipo double.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Isnumeric en c#?

Publicado por The Mad Hatter (1 intervención) el 13/05/2008 20:05:34
Para parsear mejor utiliza int.Parse o int.TryParse (este último devuelve un booleano, no arroja excepciones y devuelve el resultado en un parámetro out).

try {
int x = int.Parse(textBox1.Text);
}
catch(...

o

int x;
if(!int.TryParse(textBox1.Text, out x))
// error, todo mal
else
// todo bien :)

Otra opción es usar una expresión regular para validar la entrada. PUna genérica para cualquier número de caracteres numéricos si mal no recuerdo es "[0-9]+" o "d+"

Con C# es:

Regex r = new Regex("[0-9]+");

if(r.IsMatch(textBox1.Text)) // creo que es así o algo parecido
//todo bien
else
// todo mal
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar