Visual Basic - Convertir String a Integer

Life is soft - evento anual de software empresarial
 
Vista:

Convertir String a Integer

Publicado por Lalo (1 intervención) el 02/11/2006 16:23:27
Tengo que convertir un String a Integer para lo cual dispongo de la funcion CInt, mi pregunta es como capturo un error si el string no es un numero?

lo que me gustaria hacer seria el equivalente de C++:

AnsiString Texto = "andsf";
int Numero;
try
{
Numero = Texto.ToInt();
}
catch(...)
{
ShowMessage("Error");
}

Pero no se como hacer esto en visual Basic.

Gracias por su tiempo.
Lalo.
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

RE:Convertir String a Integer

Publicado por JuanC (68 intervenciones) el 02/11/2006 16:54:47
Podés usar
On Error Goto error
numero = CInt(texto)
On Error Goto 0

error:

o algo similar...

Saludos desde Baires, JuanC
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
sin imagen de perfil
Val: 7
Ha aumentado su posición en 2 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Convertir String a Integer

Publicado por El Viejo Charles (262 intervenciones) el 02/11/2006 18:23:19
Bueno mi viejo en visual hay una funcion de cadena llama Val() y esto lo que hace es convertir un texto numerico a numeros, ojo no funciona si conviertes letras a numeros, te devuelve 0 cero, ejemplo

text1.text= "0123456789"
text1.text=val(text1.text) ''devuelve 123456789

si conviertes a numeros esto:
text1.text= "012abcdef6789"
text1.text=val(text1.text) ''devuelve 12

si conviertes a numeros esto:
text1.text= "AbsHGAYsjdla"
text1.text=val(text1.text) ''devuelve 0

Ahora si desea saber cuando es numero o no podrias hacer esto:
if IsNumeric(text1.text) then
msgbox "Es un numero"
else
msgbox "Es una letra"
endif

suerte colega espero y te sirva de algo
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:Convertir String a Integer

Publicado por Emilio (83 intervenciones) el 02/11/2006 18:23:58
Escribe esto en el lost focus del textbox donde vas a capturar el valor que quieres sea numerico:

If IsNumeric(Text_?.Text) = False Then
MsgBox ("Debe ser un valor numerico")
Text_?.SetFocus
End If

Esa instruccion hace que al perder el foco el objeto, valide si es un numero, si no lo es, regresa y no dejara salir de hay hasta que se escriba un numero

Espero que te sirva
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
sin imagen de perfil
Val: 7
Ha aumentado su posición en 2 puestos en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Convertir String a Integer

Publicado por El Viejo Charles (262 intervenciones) el 02/11/2006 18:48:05
Es decir que con el ejemplo del colega anterior si tienes un boton para cerrar la aplicacion o desea cerrar la ventana no podras hacerlo hasta que escribas bien el numero, OJO con esas ayudas, no es recomendable colocar un mensaje en el evento Lost_Focus
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:Convertir String a Integer

Publicado por albertovicat (200 intervenciones) el 02/11/2006 23:33:44
Tiene razón El Viejo Charles. Después no podés cerrar la ventana, o te corta por error.
Lo que quiere hacer Lalo, para mí es así:

Var_Entera = Cint(Val(Var_Cadena))

Cint(Num) convierte a entero un argumento numérico Num. Para poder mandarle una cadena primero debes extraer su valor numérico mediante Val(Cadena).

Hay que tener cuidado con Val y los signos de puntuación. Val SIEMPRE considera que el separador decimal es un punto, y la coma un separador de argumentos.
Por ejemplo:
Probar en la ventana inmediato:

Print Val("15.20")
responde: 15,20

lo escribe con coma si la configuración regional de la PC está con la coma como separador decimal.

Print Val("15,20")
responde: 15

al 20 lo descarta porque lo considera un segundo argumento, y Val sólo convierte un argumento. Pero no produce error.
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