IsNumeric

19/08/2004 - 16:36 por Ricardo | Informe spam
Hola a todos...hace poco se me presento el siguiente
problema que no he podido solucionar...necesito saber
cuando un parametro es de tipo numerico y su tipo (int,
short, double, etc), para ver si el valor pasado es el
minvalue de este parametro..
Espero me puedan ayudar...

Preguntas similare

Leer las respuestas

#1 Ana
19/08/2004 - 16:47 | Informe spam
Hola

Puedes hacerlo con un try catch de la siguiente manear
bool correcto;
try
{
int i= tu valor;
correcto=true;
}
catch
{
correcto=false;
}

Si entra en el catch, no es un entero y sino entra si

Espero que te sirva
Respuesta Responder a este mensaje
#2 Vyacheslav Popov
19/08/2004 - 17:35 | Informe spam
Hola, yo haria lo mismo (capturando excepción), pero en vez de asignar valor
a un tipo lo intentaria convertir con Convert.ToTipo

Saluos.

"Ana" escribió en el mensaje
news:
Hola

Puedes hacerlo con un try catch de la siguiente manear
bool correcto;
try
{
int i= tu valor;
correcto=true;
}
catch
{
correcto=false;
}

Si entra en el catch, no es un entero y sino entra si

Espero que te sirva


Respuesta Responder a este mensaje
#3 Edison Martínez
19/08/2004 - 18:03 | Informe spam
Nunca he probado esto con tipos de datos, pero puede que esto funcione,
porque no preguntas por el tipo del objeto que te llega.

Type t = typeof(int32); //o typeof(whateverquequieres saber)
y luego lo que te llega, digamos una variable var.
Type x = var.GetType();
Comparas los dos y listo, sabras si es int, doble, float, clase o lo que
sea, bueno en teoría .. jaja, personalmente no lo he probado, pero no
pierdes nada intentando, de cualquier modo avisame si funca o no.

Suerte...


Edison Martínez García
MCP

"Ricardo" wrote in message
news:8efc01c485f9$d9648150$
Hola a todos...hace poco se me presento el siguiente
problema que no he podido solucionar...necesito saber
cuando un parametro es de tipo numerico y su tipo (int,
short, double, etc), para ver si el valor pasado es el
minvalue de este parametro..
Espero me puedan ayudar...
Respuesta Responder a este mensaje
#4 Jose Luis Manners
19/08/2004 - 19:23 | Informe spam
Function IsNumeric(ByVal val As Object) As Boolean
Return TypeOf val Is System.Decimal OrElse TypeOf val Is System.Single _
OrElse TypeOf val Is System.Double OrElse TypeOf val Is System.Int16 _
OrElse TypeOf val Is System.Int32 OrElse TypeOf val Is System.Int64
End Function

Saludos,

Jose Luis Manners, MCP

"Encuentra felicidad en tu trabajo o nunca serás feliz."
-Kung-Fu-Tsu (Confucio)

"Ricardo" wrote in message
news:8efc01c485f9$d9648150$
Hola a todos...hace poco se me presento el siguiente
problema que no he podido solucionar...necesito saber
cuando un parametro es de tipo numerico y su tipo (int,
short, double, etc), para ver si el valor pasado es el
minvalue de este parametro..
Espero me puedan ayudar...
Respuesta Responder a este mensaje
#5 AnthonyBenbrook
19/08/2004 - 21:23 | Informe spam
Puedes usar un try/catch, pero a mi, no me gusta esta tecnica.
Try/catch es una utilizacion de recursos muy ineficiente, y es mejor
usarlo solo cuando es necesario.

Has pensado en usar Expresiones Regulares?
Son muy poderosos en estos casos.

Podrías hacer algo asi:

using System.Text.RegularExpressions;


public void MiFuncion (string x)
{

// Una expresion que describe valores numericos
RegEx IsNumericEx = new RegEx ("^[0-9]*$");

// Usar IsMatch() (Emparejar) para probar 'x'
if (IsNumericEx.IsMatch (x))
{// es numerico}
else
{// no es}

}


Necesitas saber si el valor es short, int, o doble?
Supongo que podrias seguir con:

.
.
.

if (IsNumericEx.IsMatch (x))
{
double d = Convert.ToDouble (x); // por lo menos, es double

if (d < Int32.MaxValue && d > Int32.MinValue)
{// Tambien es un int}

if (d < Int16.MaxValue && d > Int16.MinValue)
{// Tambien es un short Int16 y short son los mismos}
}

Nota que este ejemplo no funciona con valores decimales. si quieres,
dejame saber, y puedo actualizar el codigo

Un saludo

"Ricardo" wrote in message news:<8efc01c485f9$d9648150$...
Hola a todos...hace poco se me presento el siguiente
problema que no he podido solucionar...necesito saber
cuando un parametro es de tipo numerico y su tipo (int,
short, double, etc), para ver si el valor pasado es el
minvalue de este parametro..
Espero me puedan ayudar...
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida