Convertir Un Tipo de Variable en Otro

download Convertir Un Tipo de Variable en Otro

of 12

Transcript of Convertir Un Tipo de Variable en Otro

CONVERTIR UN TIPO DE VARIABLE EN OTRO Son funciones del sistema que sirven para hacer conversiones de tipos de datos, pasar una variable de un tipo de dato a otro, siempre y cuando la variable que queremos convertir contenga un valor valido equivalente al tipo de dato que queremos convertir.

CBool(expression)CByte(expression)CChar(expression)CDate(expression)CDbl(expression)CDec(expression)CInt(expression)CLng(expression)CObj(expression)CSByte(expression)CShort(expression)CSng(expression)CStr(expression)CUInt(expression)CULng(expression)CUShort(expression)

Nombre de la funcinTipo de datos devueltoIntervalo de valores del argumentoexpression

CBoolBoolean (Tipo de datos, Visual Basic)Cualquier expresin numrica,CharoStringvlida.

CByteByte (Tipo de datos, Visual Basic)0 a 255 (sin signo); las partes fraccionarias se redondean.1

CCharChar (Tipo de datos, Visual Basic)Cualquier expresinCharoStringvlida; slo se convierte el primer carcter deString; el valor puede estar comprendido entre 0 y 65535 (sin signo).

CDateDate (Tipo de datos, Visual Basic)Cualquier representacin vlida de fecha y hora.

CDblDouble (Tipo de datos, Visual Basic)de -1,79769313486231570E+308 a -4,94065645841246544E-324 para valores negativos; de 4,94065645841246544E-324 a 1,79769313486231570E+308 para valores positivos.

CDecDecimal (Tipo de datos, Visual Basic)+/-79.228.162.514.264.337.593.543.950.335 para nmeros a partir de cero, es decir, nmeros sin decimales.Para nmeros con 28 posiciones decimales, el intervalo es +/-7,9228162514264337593543950335.El menor nmero posible distinto de cero es 0,0000000000000000000000000001 (+/-1E-28).

CIntInteger (Tipo de datos, Visual Basic)de -2.147.483.648 a 2.147.483.647; las partes fraccionarias se redondean.1

CLngLong (Tipo de datos, Visual Basic)de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807; las partes fraccionarias se redondean.1

CObjObject (Tipo de datos)Cualquier expresin vlida.

CSByteSByte (Tipo de datos, Visual Basic)de -128 a 127; las partes fraccionarias se redondean.1

CShortShort (Tipo de datos, Visual Basic)de -32.768 a 32.767; las partes fraccionarias se redondean.1

CSngSingle (Tipo de datos, Visual Basic)De -3,402823E+38 a 1,401298E-45 para valores negativos; de 1,401298E-45 a 3,402823E+38 para valores positivos.

CStrString (Tipo de datos, Visual Basic)Los valores devueltos paraCStrdependen del argumentoexpression.VeaValores devueltos para la funcin CStr (Visual Basic).

CUIntUInteger (Tipo de datos)de 0 a 4.294.967.295 (sin signo); las partes fraccionarias se redondean.1

CULngULong (Tipo de datos, Visual Basic)de 0 a 18.446.744.073.709.551.615 (sin signo); las partes fraccionarias se redondean.1

CUShortUShort (Tipo de datos, Visual Basic)de 0 a 65.535 (sin signo); las partes fraccionarias se redondean.1

Ejemplo de la funcin CBoolEn este ejemplo se utiliza la funcinCBoolpara convertir expresiones en valoresBoolean.Si una expresin se evala en un valor distinto de cero,CBooldevuelveTrue; en caso contrario, devuelveFalse.

Dim a, b, c As IntegerDim check As Booleana = 5b = 5' The following line of code sets check to True.check = CBool(a = b)c = 0' The following line of code sets check to False.check = CBool(c)

Como ha visto, hay variables de diferentes tipos. El tipo determina la clase de datos que puede contener una variable. Una variable de tipo Integer slo puede contener datos numricos sin separadores decimales. Una variable de tipo String slo puede contener texto.

Qu pasa cundo desea mostrar un valor Integer en un control TextBox que requiere una variable de tipo String? La respuesta es que los datos se deben convertir de un tipo a otro. Aprenderemos cmo convertir los datos de un tipo en otro y aprender algunas tcnicas utilizadas para la conversin de datos, as como algunos de sus problemas habituales.

Convertir variables en texto Cada variable de Visual Basic puede convertir en texto utilizando una funcin especial llamada CStr (que viene de abreviar Convert to String). Esta funcin, como el nombre implica, devuelve los datos representados por la variable como de tipo String. El procedimiento siguiente muestra un ejemplo sencillo de convertir un valor Integer en texto.

EJERCICIO Para convertir una variable en texto En el men Archivo, haga clic en Nuevo proyecto. En el cuadro de dilogo Nuevo proyecto, en el panel Plantillas, haga clic en Aplicacin para Windows. En el cuadro Nombre, escriba Conversion y haga clic en Aceptar. Se abrir un nuevo proyecto de formularios Windows Forms. Haga doble clic en el formulario para abrir el Editor de cdigo. En el controlador del evento Form1_Load, escriba el siguiente cdigo.

Dim anInteger As Integer = 54 MsgBox(CStr(anInteger))

Este cdigo declara una variable de tipo entero llamada anInteger, le asigna un valor de 54 y, a continuacin, convierte ese valor en texto y lo muestra en un cuadro de mensaje llamando a la funcin CStr. Presione F5 para compilar y ejecutar la aplicacin. Aparece un cuadro de mensaje que indica 54.

Probemos algo. En el Editor de cdigo, cambie la lnea que indica MsgBox(CStr(anInteger)) para que indique MsgBox(anInteger) y presione F5 para ejecutarla. Qu pasa? El programa se comporta exactamente como hizo antes. Visual Basic es lo suficientemente inteligente como para saber que lo que desea realmente esconvertir la variable de tipo Integer en texto para que se muestre en el cuadro de mensaje. Sin embargo, no puede confiar en este comportamiento para todas las clases: existen muchos tipos de variables que no se pueden convertir automticamente. Por consiguiente, es una buena prctica usar siempre la funcin CStr, aun cuando una variable se convertira automticamente en texto.

Conversin entre tipos de datos numricos Como aprendi en la leccin aritmtica, a veces el resultado de una operacin aritmtica no se puede expresar como un valor de tipo Integer. As como Visual Basic tiene una funcin para convertir los nmeros en texto, tambin tiene funciones para convertir las variables de un tipo de datos numricos en otro. Por ejemplo, puede utilizar la funcin CDbl (de Convert to Double) en una operacin aritmtica para devolver un nmero fraccionario al trabajar con variables de tipo Integer. El procedimiento siguiente muestra cmo utilizar la funcin CDbl al dividir dos enteros.

EJERCICIO. Para convertir tipos de datos numricos En el Editor de cdigo, elimine el cdigo que escribi en el procedimiento anterior y escriba lo siguiente:

Dim A As Integer = 1Dim B As Integer = 2MsgBox(CDbl(A / B))

Este cdigo declara dos variables de tipo Integer (A y B), les asigna los valores 1 y 2 y, a continuacin, convierte el resultado de la operacin de divisin (A / B) utilizando la funcin CDbl y lo muestra en un cuadro de mensaje. Presione F5 para compilar y ejecutar la aplicacin. Aparece un cuadro de mensaje que indica 0.5.

OPERADORES DE COMPARACION.

En la ltima leccin, obtuvo informacin sobre cmo utilizar operadores aritmticos para crear expresiones numricas y devolver valores numricos. Se puede utilizar otro tipo de operador, los operadores de comparacin, para comparar valores numricos y devolver valores Boolean (True o False). Los operadores de comparacin se utilizan frecuentemente para comparar valores y tomar decisiones basadas en esa comparacin. La toma de decisiones en el programa se tratar exhaustivamente en Hacer que un programa elija entre dos posibilidades: la instruccin If...Then. La siguiente tabla resume los operadores de comparacin:OperadorDescripcinEjemplos

= (igual) Devuelve True si el nmero del lado izquierdo es igual al nmero del lado derecho. 5 = 4 (falso) 4 = 5 (falso) 4 = 4 (verdadero)

(distinto de) Devuelve True si el nmero de la izquierda no es igual al nmero de la derecha. 5 4 (True) 4 5 (True) 4 4 (False)

> (mayor que) Devuelve True si el nmero de la izquierda es mayor que el nmero de la derecha. 5 > 4 (True) 4 > 5 (False) 4 > 4 (False)

< (menor que) Devuelve True si el nmero de la izquierda es menor que el nmero de la derecha. 5 < 4 (False) 4 < 5 (True) 4 < 4 (False)

>= (mayor o igual que) Devuelve True si el nmero de la izquierda es mayor o igual que el nmero de la derecha. 5 >= 4 (True) 4 >= 5 (False) 4 >= 4 (True)