Validar conversion de una cadena a int

25/04/2005 - 19:09 por andy O | Informe spam
Hola a todos.

El problema es el siguiente.

Tengo un string que lo recojo de una caja de texto y quiero convertirlo a
entero con.

int i = int.Parse(texto);

El problema es que cuando se sobrepasa el entero máximo 2147483647.

Obviando la parte de validar con los diferentes métodos de validación como
regex, o length.
Quiero saber la forma de hacer algo como.


if (texto > 2147483647)
return "Error;

Ojo que si uso cualquier metodo de conversion en texto sale error.
Espero que me ayuden
Gracias.

Preguntas similare

Leer las respuestas

#1 Franklin Marcano
25/04/2005 - 19:16 | Informe spam
porque no lo capturas con excepciones y listo.
try, catch
"andy O" escribió en el mensaje
news:
Hola a todos.

El problema es el siguiente.

Tengo un string que lo recojo de una caja de texto y quiero convertirlo a
entero con.

int i = int.Parse(texto);

El problema es que cuando se sobrepasa el entero máximo 2147483647.

Obviando la parte de validar con los diferentes métodos de validación como
regex, o length.
Quiero saber la forma de hacer algo como.


if (texto > 2147483647)
return "Error;

Ojo que si uso cualquier metodo de conversion en texto sale error.
Espero que me ayuden
Gracias.







Respuesta Responder a este mensaje
#2 Tristan
25/04/2005 - 19:53 | Informe spam
Puedes utilizar el método TryParse de la clase Double:

using System.Globalization;

double valor;
if Double.TryParse(texto, NumberStyles.Integer, null,
out valor)
return "Error";
Respuesta Responder a este mensaje
#3 andy O
25/04/2005 - 20:46 | Informe spam
Franklin las mejores practicas recomiendan que se eviten las exepciones, por
eso queria saber si habria otra forma.

Por otra parte, Tristan gracias por la ayuda.


"andy O" escribió:

Hola a todos.

El problema es el siguiente.

Tengo un string que lo recojo de una caja de texto y quiero convertirlo a
entero con.

int i = int.Parse(texto);

El problema es que cuando se sobrepasa el entero máximo 2147483647.

Obviando la parte de validar con los diferentes métodos de validación como
regex, o length.
Quiero saber la forma de hacer algo como.


if (texto > 2147483647)
return "Error;

Ojo que si uso cualquier metodo de conversion en texto sale error.
Espero que me ayuden
Gracias.







Respuesta Responder a este mensaje
#4 Octavio Hernandez
26/04/2005 - 09:07 | Informe spam
Andy,

Puedes asignar 10 a MaxLength para garantizar que la entrada no tendrá más
de 10 caracteres, y programar el evento KeyPress para rechazar todo lo que
no sean dígitos y el BackSpace.

Luego ya puedes hacer algo como:

if (TextBox1.Text.Length < 10 || TextBox1.Text.Length == 10 &&
TextBox1.Length <= "2147483647")
n = int.Parse(TextBox1.Text)
else
{
// mensaje de error, o lo que creas...
}

Slds - Octavio

"andy O" escribió en el mensaje
news:
Hola a todos.

El problema es el siguiente.

Tengo un string que lo recojo de una caja de texto y quiero convertirlo a
entero con.

int i = int.Parse(texto);

El problema es que cuando se sobrepasa el entero máximo 2147483647.

Obviando la parte de validar con los diferentes métodos de validación como
regex, o length.
Quiero saber la forma de hacer algo como.


if (texto > 2147483647)
return "Error;

Ojo que si uso cualquier metodo de conversion en texto sale error.
Espero que me ayuden
Gracias.







Respuesta Responder a este mensaje
#5 andy O
26/04/2005 - 14:57 | Informe spam
Gracias Octavio.
Esa es la forma más ortodoxa de hacerlo, pero yo queria hacerlo de otra
manera, para luego implementarlo en un método.


"Octavio Hernandez" escribió:

Andy,

Puedes asignar 10 a MaxLength para garantizar que la entrada no tendrá más
de 10 caracteres, y programar el evento KeyPress para rechazar todo lo que
no sean dígitos y el BackSpace.

Luego ya puedes hacer algo como:

if (TextBox1.Text.Length < 10 || TextBox1.Text.Length == 10 &&
TextBox1.Length <= "2147483647")
n = int.Parse(TextBox1.Text)
else
{
// mensaje de error, o lo que creas...
}

Slds - Octavio

"andy O" escribió en el mensaje
news:
> Hola a todos.
>
> El problema es el siguiente.
>
> Tengo un string que lo recojo de una caja de texto y quiero convertirlo a
> entero con.
>
> int i = int.Parse(texto);
>
> El problema es que cuando se sobrepasa el entero máximo 2147483647.
>
> Obviando la parte de validar con los diferentes métodos de validación como
> regex, o length.
> Quiero saber la forma de hacer algo como.
>
>
> if (texto > 2147483647)
> return "Error;
>
> Ojo que si uso cualquier metodo de conversion en texto sale error.
> Espero que me ayuden
> Gracias.
>
>
>
>
>
>
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida