Está en la página 1de 14

Estas funciones se compilan en lnea, es decir, el cdigo de conversin forma parte del cdigo que evala la expresin.

A veces
no se produce una llamada a un procedimiento para realizar la conversin, lo que mejora el rendimiento.Cada funcin convierte
una expresin a un tipo de datos especfico.

Sintaxis
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)

Parte
expression
Obligatorio.Cualquier expresin del tipo de datos de origen.

Tipo de datos del valor devuelto


El nombre de funcin determina el tipo de datos del valor devuelto, como se muestra en la tabla siguiente.

Nombre de
la funcin

Tipo de datos
devuelto

Intervalo de valores del argumento expression

CBool

Boolean (Tipo

Cualquier expresin numrica, Char o String vlida.

de datos,
Visual Basic)
CByte

Byte (Tipo de
datos, Visual
Basic)

0 a 255 (sin signo); las partes fraccionarias se redondean.1

CChar

Char (Tipo de
datos, Visual
Basic)

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

Date (Tipo de
datos, Visual
Basic)

Cualquier representacin vlida de fecha y hora.

CDbl

Double (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.

CDec

Decimal (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).

CInt

Integer (Tipo
de datos,
Visual Basic)

de -2.147.483.648 a 2.147.483.647; las partes fraccionarias se redondean.1

CLng

Long (Tipo de

de -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807; las partes fraccionarias se

datos, Visual
Basic)

redondean.1

CObj

Object (Tipo
de datos)

Cualquier expresin vlida.

CSByte

SByte (Tipo de
datos, Visual
Basic)

de -128 a 127; las partes fraccionarias se redondean.1

CShort

Short (Tipo de
datos, Visual
Basic)

de -32.768 a 32.767; las partes fraccionarias se redondean.1

CSng

Single (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.

CStr

String (Tipo de
datos, Visual
Basic)

Los valores devueltos para CStr dependen del argumento expression.Vea Valores devueltos para la
funcin CStr (Visual Basic).

CUInt

UInteger (Tipo
de datos)

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

CULng

ULong (Tipo
de datos,
Visual Basic)

de 0 a 18.446.744.073.709.551.615 (sin signo); las partes fraccionarias se redondean.1

CUShort

UShort (Tipo
de datos,
Visual Basic)

de 0 a 65.535 (sin signo); las partes fraccionarias se redondean.1

Las partes fraccionarias pueden estar sujetas a un tipo especial de redondeo denominado
"Comentarios" para obtener ms informacin.

redondeo bancario.Vea

Comentarios
Por regla general, debe utilizar preferentemente las funciones de conversin de tipos de Visual Basic que los mtodos de .NET
Framework, comoToString(), 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 deBoolean 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 eInt 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. CDatereconoce literales de fecha y literales de tiempo pero no valores numricos.Para convertir un valor Date de

Visual Basic 6.0 en un valorDate 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 comoDatePart.
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) yParse(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).

Ejemplo de la funcin CBool

En este ejemplo se utiliza la funcin CBool para convertir expresiones en valores Boolean.Si una expresin se evala en un
valor distinto de cero, CBool devuelve True; en caso contrario, devuelve False.
VB
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)

Ejemplo de la funcin CByte


En este ejemplo se utiliza la funcin CByte para convertir expresiones en Byte.
VB
Dim aDouble As Double
Dim aByte As Byte
aDouble = 125.5678
' The following line of code sets aByte to 126.
aByte = CByte(aDouble)

Ejemplo de la funcin CChar


En el ejemplo siguiente se utiliza la funcin CChar para convertir el primer carcter de una expresin String en un tipo Char.
VB
Dim aString As String
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
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)

Ejemplo de la funcin CDate


En este ejemplo se utiliza la funcin CDate para convertir cadenas en valores Date.En general, no se recomienda especificar las
fechas y horas como cadenas en el cdigo, tal y como se puede ver en este ejemplo.Utilice literales de fecha y hora, por ejemplo
#Feb 12, 1969# y #4:45:233 p.m.#.
VB
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)

Ejemplo del algoritmo CDbl


VB
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)

Ejemplo de la funcin CDec


En el siguiente ejemplo se utiliza la funcin CDec para convertir un valor numrico en Decimal.
VB
Dim aDouble As Double
Dim aDecimal As Decimal
aDouble = 10000000.0587
' The following line of code sets aDecimal to 10000000.0587.

aDecimal = CDec(aDouble)

Ejemplo de la funcin CInt


En este ejemplo se utiliza la funcin CInt para convertir un valor a Integer.
VB
Dim aDbl As Double
Dim anInt As Integer
aDbl = 2345.5678
' The following line of code sets anInt to 2346.
anInt = CInt(aDbl)

Ejemplo del algoritmo CLng


En el ejemplo siguiente se utiliza la funcin CLng para convertir valores a Long.
VB
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)

Ejemplo de la funcin CObj


En el siguiente ejemplo se utiliza la funcin CObj para convertir un valor numrico en Object.La variable Object en s contiene
slo un puntero de cuatro bytes, que seala al valor Double que tiene asignado.
VB
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
Dim aDouble As Double
Dim anSByte As SByte
aDouble = 39.501
' The following line of code sets anSByte to 40.
anSByte = CSByte(aDouble)

Ejemplo de la funcin CShort


En el siguiente ejemplo se utiliza la funcin CShort para convertir un valor numrico en Short.
VB
Dim aByte As Byte
Dim aShort As Short
aByte = 100
' The following line of code sets aShort to 100.
aShort = CShort(aByte)

Ejemplo del algoritmo CSng


En el ejemplo siguiente se utiliza la funcin CSng para convertir valores a Single.
VB
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)

Ejemplo del algoritmo CStr


En el siguiente ejemplo se utiliza la funcin CStr para convertir un valor numrico en String.
VB
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
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
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
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
Dim aDouble As Double
Dim aUShort As UShort
aDouble = 39.501
' The following line of code sets aUShort to 40.
aUShort = CUShort(aDouble)

hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhh
Rem no permitir letras en el textbox
------------------------------------------------------------------------------------------------------------------------1
2
3
4
5
6

Private Sub Text1_KeyPress(KeyAscii As Integer)


If (KeyAscii >= 97) And (KeyAscii < 122) Or (KeyAscii >= 65) And (KeyAscii < 90) Then

MsgBox "Nada de letras"


KeyAscii = 8
End If
End Sub
------------------------------------------------------------------------------------------------------------------------Rem no permitir numeros en el textbox
------------------------------------------------------------------------------------------------------------------------1
2
3
4
5
6

Private Sub Text1_KeyPress(KeyAscii As Integer)


If (KeyAscii >= 48) And (KeyAscii <= 57) Then
MsgBox "Nada de numeros"
KeyAscii = 8
end if
End Sub
------------------------------------------------------------------------------------------------------------------------No permitir simbolos
------------------------------------------------------------------------------------------------------------------------1
2
3
4
5

6
7

Private Sub Text1_KeyPress(KeyAscii As Integer)


If (KeyAscii >= 33) And (KeyAscii <= 47) Or (KeyAscii >= 58) And (KeyAscii <= 100) Or _
(KeyAscii >= 91) And (KeyAscii <= 96) Or (KeyAscii >= 123) And (KeyAscii <= 126) Then
MsgBox "Nada de simbolos"
KeyAscii = 8
End If
End Sub
Bueno ese metodo que dice el compaero anterior lo probe de mil formas y nunca me funciono pero encontre en una pagina
uno que si funciona espero que a ti tambin

Private Sub textbox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles


textbox.KeyPress
If Char.IsDigit(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSymbol(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsWhiteSpace(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True

End If
Me.textbox.Text = Trim(Replace(Me.textbox.Text, "
textbox.Select(textbox.Text.Length, 0)

", " "))

End Sub

ese es para que solo acepte numeros, la ultima parte donde dice Me.textbox............ es para que no acepte espacios,
visualmente lo agrega pero cuando se va a escribir el siguiente caracter borra el espacio y pone los caracteres seguidos, si no
lo necesitas asi lo puedes quitar.

Private Sub textbox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles


textbox.KeyPress
If Char.IsLetter(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsControl(e.KeyChar) Then
e.Handled = False
ElseIf Char.IsSeparator(e.KeyChar) Then
e.Handled = False
Else
e.Handled = True
End If
Me.textbox.Text = Trim(Replace(Me.textbox.Text, " ", ""))
textbox.Select(textbox.Text.Length, 0)
End Sub

También podría gustarte