Documente Academic
Documente Profesional
Documente Cultură
El nombre de funcin determina el tipo de datos del valor devuelto, como se muestra en la tabla siguiente.
Nombre de la funcin
CBool
Boolean (Tipo Cualquier expresin numrica, Char o String vlida. de datos, Visual Basic)
CByte
CChar
Cualquier expresin Char o String vlida; slo se convierte el primer carcter de String; el valor puede estar comprendido entre 0 y 65535 (sin signo).
CDate
CDbl
de -1,79769313486231570E+308 a -4,94065645841246544E-324 para valores negativos; de 4,94065645841246544E-324 a 1,79769313486231570E+308 para valores positivos.
CDec
Decimal (Tipo +/-79.228.162.514.264.337.593.543.950.335 para nmeros a partir de cero, es decir, de datos, nmeros sin decimales.Para nmeros con 28 posiciones decimales, el intervalo es Visual Basic) +/-7,9228162514264337593543950335.El menor nmero posible distinto de cero es 0,0000000000000000000000000001 (+/-1E-28).
CInt
CLng
Long (Tipo de de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807; las partes fraccionarias datos, Visual se redondean.1 Basic)
CObj
CSByte
CShort
Short (Tipo de de -32.768 a 32.767; las partes fraccionarias se redondean. 1 datos, Visual Basic)
CSng
De -3,402823E+38 a 1,401298E-45 para valores negativos; de 1,401298E-45 a 3,402823E+38 para valores positivos.
CStr
Los valores devueltos para CStr dependen del argumento expression.Vea Valores devueltos para la funcin CStr (Visual Basic).
CUInt
CULng
CUShort
Las partes fraccionarias pueden estar sujetas a un tipo especial de redondeo denominado redondeo bancario.Vea "Comentarios" para obtener ms informacin.
Comentarios
Por regla general, debe utilizar preferentemente las funciones de conversin de tipos de Visual Basic que los mtodos de .NET Framework, como ToString(), en la clase Convert o en una clase o estructura individual de tipos.Las funciones de Visual Basic se han diseado para que interacten de forma ptima con el cdigo de Visual Basic; adems hacen que el cdigo fuente sea ms corto y fcil de leer.Asimismo, los mtodos de conversin de .NET Framework no siempre producen los mismos resultados que las funciones de Visual Basic,
por ejemplo cuando se convierte de Boolean a Integer.Para obtener ms informacin, vea Solucionar problemas de tipos de datos (Visual Basic).
Comportamiento
Conversin. En general, puede utilizar las funciones de conversin de tipos de datos para convertir el resultado de una operacin a un tipo de datos concreto en vez de al tipo de datos predeterminado.Por ejemplo, utilice CDec para forzar la ejecucin de operaciones con aritmtica decimal en los casos en los que se hara con precisin sencilla, doble precisin o aritmtica de enteros. Conversiones incorrectas. Si el argumento expression transferido a la funcin est fuera del intervalo de valores del tipo de datos al que se va a convertir, se inicia una excepcin OverflowException. Partes fraccionarias. Cuando un valor no integral se convierte a un tipo entero, las funciones de conversin de enteros (CByte, CInt, CLng, CSByte, CShort, CUInt, CULng y CUShort) quitan la parte fraccionaria y redondean el valor al entero ms prximo. Si la parte fraccionaria es exactamente 0,5, las funciones de conversin de enteros lo rodean al entero par ms prximo.Por ejemplo, 0,5 se redondea a 0 y 1,5 y 2,5 se redondean a 2.Esto se denomina redondeo bancario a veces y su propsito es compensar una tendencia que se podra acumular al sumar muchos de estos nmeros. CInt y CLng difieren de las funciones Int y Fix, en que, en lugar de redondear, truncan la parte fraccionaria de un nmero.Adems, Fix e Int siempre devuelven un valor del mismo tipo de datos que reciben.
Conversiones de fecha y hora. Utilice la funcin IsDate para determinar si un valor se puede convertir en una fecha y hora.CDate reconoce literales de fecha y literales de tiempo pero no valores numricos.Para convertir un valor Date de Visual Basic 6.0 en un valor Date en Visual Basic 2005 o versiones posteriores, puede utilizar el mtodo DateTime.FromOADate. Valores de fecha u hora neutrales. El tipo de datos Date (Tipo de datos, Visual Basic) contiene siempre informacin de fecha y hora.Para la conversin de tipos, Visual Basic considera 1/1/0001 (1 de enero del ao 1) un valor neutral de fecha y 00:00:00 (medianoche) un valor neutral de hora.Si se convierte un valor Date a una cadena, CStr no incluye valores neutrales en la cadena resultante.Por ejemplo, si se convierte #January 1, 0001 9:30:00# en una cadena, el resultado sera "9:30:00 a.m.", ya que la informacin de fecha se omite.Sin embargo, la informacin de fecha permanece presente en el valor de Date original y se puede recuperar mediante funciones como DatePart. Distincin de referencias culturales. Las funciones de conversin de tipos que implican cadenas realizan las conversiones en funcin de la configuracin de la referencia cultural actual de la aplicacin.Por ejemplo, CDate reconoce formatos de fecha de acuerdo con la configuracin regional del sistema.Debe suministrar el da, mes y ao en el orden correcto para la configuracin regional; de no hacerlo as, es posible que la fecha no se interprete de forma correcta.No se puede reconocer un formato de fecha largo si contiene la cadena del da de la semana, por ejemplo Mircoles. Si necesita convertir una representacin de cadena de un valor en un formato diferente al especificado por la configuracin regional, no puede utilizar las funciones de conversin de tipos de Visual Basic.Para ello, utilice los mtodos ToString(IFormatProvider) y Parse(String, IFormatProvider) de ese tipo de valor.Por ejemplo, utilice Double.Parse cuando convierte una cadena a un valor de tipo Double y utilice Double.ToString cuando convierta un valor de tipo Double en una cadena.
CType (Funcin)
La funcin CType toma un segundo argumento, typename, y convierte expression en typename, donde typename puede ser cualquier tipo de datos, estructura, clase o interfaz para la que exista una conversin vlida. Para una comparacin de CType con las otras palabras clave de conversin de tipos, vea DirectCast (Operador) (Visual Basic) y TryCast (Operador) (Visual Basic).
Dim a, b, c As Integer Dim check As Boolean a = 5 b = 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)
Dim aDouble As Double Dim aByte As Byte aDouble = 125.5678 ' The following line of code sets aByte to 126. aByte = CByte(aDouble)
Dim aChar As Char ' CChar converts only the first character of the string. aString = "BCD" ' The following line of code sets aChar to "B". aChar = CChar(aString)
El argumento de entrada para CChar debe pertenecer al tipo de datos Char o String.No puede utilizar CChar para convertir un nmero en un carcter, porque CChar no acepta un tipo de datos numricos.En el ejemplo siguiente se obtiene un nmero que representa un punto de cdigo (cdigo de carcter) y se convierte al carcter correspondiente.En el ejemplo se utiliza la funcin InputBox para obtener la cadena de dgitos, CInt para convertir la cadena en el tipo Integer y ChrW para convertir el nmero en el tipo Char. VB Copiar
Dim someDigits As String Dim codePoint As Integer Dim thisChar As Char someDigits = InputBox("Enter code point of character:") codePoint = CInt(someDigits) ' The following line of code sets thisChar to the Char value of codePoint. thisChar = ChrW(codePoint)
Dim aDateString, aTimeString As String Dim aDate, aTime As Date aDateString = "February 12, 1969" aTimeString = "4:35:47 PM" ' The following line of code sets aDate to a Date value. aDate = CDate(aDateString) ' The following line of code sets aTime to Date value. aTime = CDate(aTimeString)
Dim aDec As Decimal Dim aDbl As Double ' The following line of code uses the literal type character D to make aDec a Decimal. aDec = 234.456784D ' The following line of code sets aDbl to 1.9225456288E+1. aDbl = CDbl(aDec * 8.2D * 0.01D)
Dim aDouble As Double Dim aDecimal As Decimal aDouble = 10000000.0587 ' The following line of code sets aDecimal to 10000000.0587. aDecimal = CDec(aDouble)
Dim aDbl As Double Dim anInt As Integer aDbl = 2345.5678 ' The following line of code sets anInt to 2346. anInt = CInt(aDbl)
Dim aDbl1, aDbl2 As Double Dim aLng1, aLng2 As Long aDbl1 = 25427.45 aDbl2 = 25427.55 ' The following line of code sets aLng1 to 25427.
aLng1 = CLng(aDbl1) ' The following line of code sets aLng2 to 25428. aLng2 = CLng(aDbl2)
Dim aDouble As Double Dim anObject As Object aDouble = 2.7182818284 ' The following line of code sets anObject to a pointer to aDouble. anObject = CObj(aDouble)
Ejemplo de CSByte
En el siguiente ejemplo se utiliza la funcin CSByte para convertir un valor numrico en SByte. VB Copiar
Dim aDouble As Double Dim anSByte As SByte aDouble = 39.501 ' The following line of code sets anSByte to 40. anSByte = CSByte(aDouble)
Dim aByte As Byte Dim aShort As Short aByte = 100 ' The following line of code sets aShort to 100. aShort = CShort(aByte)
Dim aDouble1, aDouble2 As Double Dim aSingle1, aSingle2 As Single aDouble1 = 75.3421105 aDouble2 = 75.3421567 ' The following line of code sets aSingle1 to 75.34211. aSingle1 = CSng(aDouble1) ' The following line of code sets aSingle2 to 75.34216. aSingle2 = CSng(aDouble2)
Dim aDouble As Double Dim aString As String aDouble = 437.324 ' The following line of code sets aString to "437.324". aString = CStr(aDouble)
En el ejemplo siguiente se utiliza la funcin CStr para convertir valores Date en valores String. VB Copiar
Dim aDate As Date Dim aString As String ' The following line of code generates a COMPILER ERROR because of invalid format. ' aDate = #February 12, 1969 00:00:00# ' Date literals must be in the format #m/d/yyyy# or they are invalid. ' The following line of code sets the time component of aDate to midnight. aDate = #2/12/1969# ' The following conversion suppresses the neutral time value of 00:00:00. ' The following line of code sets aString to "2/12/1969". aString = CStr(aDate) ' The following line of code sets the time component of aDate to one second past midnight. aDate = #2/12/1969 12:00:01 AM# ' The time component becomes part of the converted value. ' The following line of code sets aString to "2/12/1969 12:00:01 AM".
aString = CStr(aDate)
CStr siempre representa un valor Date en el formato corto estndar de la configuracin regional actual, por ejemplo, "15/6/2003 4:35:47 p.m.".Sin embargo, CStr suprime los valores neutrales 1/1/0001 para la fecha y 00:00:00 para la hora. Para obtener informacin detallada sobre los valores devueltos por CStr, vea Valores devueltos para la funcin CStr (Visual Basic).
Ejemplo de CUInt
En el siguiente ejemplo se utiliza la funcin CUInt para convertir un valor numrico en UInteger. VB Copiar
Dim aDouble As Double Dim aUInteger As UInteger aDouble = 39.501 ' The following line of code sets aUInteger to 40. aUInteger = CUInt(aDouble)
Ejemplo de CULng
En el siguiente ejemplo se utiliza la funcin CULng para convertir un valor numrico en ULong. VB Copiar
Dim aDouble As Double Dim aULong As ULong aDouble = 39.501 ' The following line of code sets aULong to 40. aULong = CULng(aDouble)
Ejemplo de CUShort
En el siguiente ejemplo se utiliza la funcin CUShort para convertir un valor numrico en UShort. VB Copiar
' The following line of code sets aUShort to 40. aUShort = CUShort(aDouble)