Funciones de conversión de tipo

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Cada función convierte una expresión a un determinado tipo de datos.

Sintaxis

CBool ( expresión )

CByte ( expresión )

CCur ( expresión )

CDate ( expresión )

CDbl ( expresión )

CDec ( expresión )

CInt ( expresión )

CLng ( expresión )

CSng ( expresión )

CStr ( expresión )

CVar ( expresión )

La expresiónde requeridoargumento es cualquier expresión de cadena o expresión numérica.

Tipos de valor devuelto

El nombre de la función determina el tipo devuelto como se muestra en la siguiente:

Función

Tipo de valor devuelto

Intervalo de expresión argumento

CBool

Booleano

Cualquier válida cadena o expresión numérica.

CByte

Byte

entre 0 y 255.

CCur

Moneda

-922.337.203.685.477,5808 y 922.337.203.685.477,5807.

CDate

Fecha

Cualquier expresión de fecha válida.

CDbl

Doble

-1, 79769313486231E308 a
-4, 94065645841247E-324 para valores negativos; 4, 94065645841247E-324 y 1, 79769313486232E308 para valores positivos.

CDec

Decimal

+/-79.228.162.514.264.337.593.543.950.335 para números a partir de cero, es decir, números sin decimales. Para números con 28 decimales, el rango es
+/-7,9228162514264337593543950335. El menor número posible distinto de cero es 0,0000000000000000000000000001.

CInt

Entero

-32.768 a 32.767; las fracciones se redondean.

CLng

Largo

-2.147.483.648 a 2.147.483.647; las fracciones se redondean.

CSng

Single

-3, 402823E38 y - 1, 401298E-45 para valores negativos; 1, 401298E-45 y 3, 402823E38 para valores positivos.

CStr

Cadena

Los valores devueltos para CStr dependen del argumento de expresión .

CVar

Variant

Mismo intervalo que doble para valores numéricos. Mismo intervalo que cadena para valores no numéricos.


Comentarios

Si la expresión se pasa a la función está fuera del intervalo del tipo de datos que se convierte, se produce un error.

En general, puede documentar el código mediante las funciones de conversión de tipo de datos para mostrar que el resultado de alguna operación debe expresarse como un determinado tipo de datos en lugar de tipo de datos predeterminado. Por ejemplo, use CCur forzar moneda aritmético en casos donde precisión simple, doble precisión o aritmética de enteros normalmente se produce.

Debe utilizar las funciones de conversión de tipo de datos en lugar de Val para proporcionar conversiones internacionales de un tipo de datos a otro. Por ejemplo, cuando utilice CCur, diferentes separadores decimales, separadores de miles, y opciones de moneda se reconocen correctamente según la configuración regional de su equipo.

Cuando la parte fraccionaria es exactamente 0,5, CInt y CLng siempre redondean al número par más próximo. Por ejemplo, 0,5 se redondea a 0 y 1,5 se redondea a 2. CInt y CLng difieren de las funciones Fix e Int , que truncan, en lugar de redondear, la parte fraccionaria de un número. Además, Fix e Int siempre devuelven un valor del mismo tipo que se ha pasado.

Use la función IsDate para determinar si fecha se puede convertir a una fecha u hora. CDate reconoce literales de fecha y hora, así como algunos números que se encuentran en el intervalo de fechas aceptables. Al convertir a un número en una fecha, la parte de número entero se convierte en una fecha. Cualquier parte fraccionaria del número se convierte en una hora del día, comenzando por la medianoche.

CDate reconoce formatos de fecha según la configuración de configuración regional del sistema. No se puede determinar el orden correcto del día, mes y año si se proporciona en un formato distinto de las configuraciones de fecha reconocido. Además, un formato de fecha larga no se reconoce si también contiene la cadena de día de la semana.

También se proporciona una función CVFecha para la compatibilidad con versiones anteriores de Visual Basic. La sintaxis de la función CVFecha es idéntica a la función CDate , sin embargo, CVFecha devuelve un valor Variant cuyo subtipo es fecha en lugar de un tipo de fecha real. Dado que ahora es un tipo intrínseco de fecha , no hay necesidad de CVFecha. Puede conseguir el mismo efecto convierte una expresión a una fecha, y, a continuación, se asignan a Variant. Esta técnica es coherente con la conversión de todos los demás tipos intrínsecos a su equivalente subtipos de variante .

Nota: La función CDec no devuelve un tipo de datos independiente; en su lugar, siempre devuelve un valor Variant cuyo valor se ha convertido a un subtipo Decimal .

Ejemplos

Nota: Los ejemplos siguientes muestran el uso de esta función en un Visual Basic para aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione la Referencia del programador en la lista desplegable situada junto a Buscar y escriba uno o varios términos en el cuadro de búsqueda.

Función CBool

Sugerencia: El generador de expresiones con IntelliSense comenzando en Access 2010 ayuda a obtener las expresiones derecha.

Este ejemplo usa la función CBool para convertir una expresión en un valor Boolean. Si la expresión se evalúa como un valor distinto de cero, CBool devuelve Verdadero; en caso contrario, devuelve False.

Dim A, B, Check
A = 5: B = 5 ' Initialize variables.
Check = CBool(A = B) ' Check contains True.
A = 0 ' Define variable.
Check = CBool(A) ' Check contains False.

Función CByte

Este ejemplo usa la función CByte para convertir una expresión en un Byte.

Dim MyDouble, MyByte
MyDouble = 125.5678 ' MyDouble is a Double.
MyByte = CByte(MyDouble) ' MyByte contains 126.

Función CCur

Este ejemplo usa la función CCur para convertir una expresión a una moneda.

Dim MyDouble, MyCurr
MyDouble = 543.214588 ' MyDouble is a Double.
MyCurr = CCur(MyDouble * 2)
' Convert result of MyDouble * 2 (1086.429176) to a
' Currency (1086.4292).

Función CDate

Este ejemplo usa la función CDate para convertir una cadena a una fecha. En general, no se recomienda codificar fechas y horas como cadenas (tal como se muestra en este ejemplo). Usar literales de fecha y hora, como #2/12/1969 # y # 4:45:23 PM # en su lugar.

Dim MyDate, MyShortDate, MyTime, MyShortTime
MyDate = "February 12, 1969"
' Convert to Date data type.
MyShortDate = CDate(MyDate)
MyTime = "4:35:47 PM"
' Convert to Date data type.
MyShortTime = CDate(MyTime)

Función CDbl

Este ejemplo usa la función CDbl para convertir una expresión en un valor Double.

Dim MyCurr, MyDouble
MyCurr = CCur(234.456784)
' Convert result to a Double.
MyDouble = CDbl(MyCurr * 8.2 * 0.01)

Función CDec

Este ejemplo usa la función CDec para convertir un valor numérico en Decimal.

Dim MyDecimal, MyCurr
MyCurr = 10000000.0587 ' MyCurr is a Currency.
MyDecimal = CDec(MyCurr) ' MyDecimal is a Decimal.

Función CInt

Este ejemplo usa la función CInt para convertir un valor a un entero.

Dim MyDouble, MyInt
MyDouble = 2345.5678 ' MyDouble is a Double.
MyInt = CInt(MyDouble) ' MyInt contains 2346.

Función CLng

Este ejemplo usa la función CLng para convertir un valor en una larga.

Dim MyVal1, MyVal2, MyLong1, MyLong2
MyVal1 = 25427.45
MyVal2 = 25427.55 ' MyVal1, MyVal2 are Doubles.
MyLong1 = CLng(MyVal1)
' MyLong1 contains 25427.
MyLong2 = CLng(MyVal2)
' MyLong2 contains 25428.

Función CSng

Este ejemplo usa la función CSng para convertir un valor en una sola.

Dim MyDouble1, MyDouble2, MySingle1, MySingle2
' MyDouble1, MyDouble2 are Doubles.
MyDouble1 = 75.3421115: MyDouble2 = 75.3421555
MySingle1 = CSng(MyDouble1)
' MySingle1 contains 75.34211.
MySingle2 = CSng(MyDouble2)
' MySingle2 contains 75.34216.

Función CStr

Este ejemplo usa la función CStr para convertir un valor numérico en una cadena.

Dim MyDouble, MyString
MyDouble = 437.324 ' MyDouble is a Double.
MyString = CStr(MyDouble)
' MyString contains "437.324".

Función CVar

Este ejemplo usa la función CVar para convertir una expresión a un tipo Variant.

Dim MyInt, MyVar
MyInt = 4534 ' MyInt is an Integer.
MyVar = CVar(MyInt & "000")
' MyVar contains the string 4534000.

Nota: Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×