Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

Cada función coacciona un expresión a un 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ón argumento es cualquier expresión de cadena o expresión numérica.

Tipos de devolución

El nombre de la función determina el tipo de valor devuelto tal y como se muestra a continuación:

Función

Tipo de devolución

Argumento Rango para expresión

CBool

Boolean

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

CByte

Byte

De 0 a 255.

CCur

Moneda

-922.337.203.685.477.5808 a 922.337.203.685.477.5807.

CDate

Fecha

Cualquier expresión de fecha válida.

CDbl

Double

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

CDec

Decimal

+/-79.228.162.514.264.337.593.543.950.335 para números a escala cero, es decir, números sin posiciones decimales. Para números con 28 posiciones decimales, el rango es
+/-7,9228162514264337593543950335. El número distinto de cero más pequeño posible es 0,0000000000000000000000000001.

CInt

Entero

-32.768 a 32.767; las fracciones se redondea.

CLng

Largo

-2.147.483.648 a 2.147.483.647; las fracciones se redondea.

CSng

Single

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

CStr

String

Los retornos de CStr dependen del argumento de expresión.

CVar

Variant

Double para los valores numéricos. Mismo intervalo que String para los valores no numéricos.

Observaciones

Si la expresión pasada a la función está fuera del rango del tipo de datos al que se va a convertir, se produce un error.

En general, puede documentar el código con las funciones de conversión de tipos de datos para mostrar que el resultado de algunas operaciones debe expresarse como un tipo de datos determinado en lugar del tipo de datos predeterminado. Por ejemplo, use CCur para forzar la aritmética de moneda en los casos en los que normalmente se produciría aritmética de precisión simple, doble precisión o entero.

Debe usar 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, al usar CCur,los separadores decimales diferentes, los distintos separadores de miles y las distintas opciones de moneda se reconocen correctamente en función de la configuración regional del equipo.

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

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

CDate reconoce los formatos de fecha según la configuración regional configuración del sistema. Es posible que no se determine el orden correcto del día, el mes y el año si se proporciona en un formato distinto de una de las opciones de fecha reconocidas. Además, no se reconoce un formato de fecha larga si también contiene la cadena día de la semana.

También se proporciona una función CVDate para la compatibilidad con versiones anteriores de Visual Basic. La sintaxis de la función CVDate es idéntica a la función CDate, pero CVDate devuelve un tipo Variant cuyo subtipo es Fecha en lugar de un tipo de fecha real. Puesto que ahora hay un tipo de fecha intrínseco, no hay necesidad de CVDate. El mismo efecto se puede lograr al convertir una expresión en una fecha y, a continuación, asignarla a una variant. Esta técnica es coherente con la conversión de todos los demás tipos intrínsecos a sus subtipos Variant equivalentes.

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

Ejemplos de consulta

Expresión

Resultados

SELECT SalePrice,FinalPrice,CBool(SalePrice>FinalPrice) AS Expr1 FROM productSales;

Devuelve "SalePrice", "FinalPrice" y evalúa si SalePrice es mayor que Precio final. Devuelve "-1" si es verdadero y "0" si es falso.

SELECT ProductID, CByte(Quantity) AS Expr1 FROM productSales;

Devuelve "ProductID", convierte los valores del campo "Cantidad" en formato bytes y se muestra en la columna Expr1 Devuelve "ProductID", convierte los valores del campo "Cantidad" en formato moneda y se muestra en la columna Expr1.

SELECT ProductID, CDate(DateofSale) AS Expr1 FROM productSales;

Devuelve "ProductID", convierte los valores del campo "DateofSale" en formato Fecha y se muestra en la columna Expr1.

SELECT ProductID, CDbl(Discount) AS Expr1 FROM productSales;

Devuelve "ProductID", convierte los valores del campo "Descuento" en formato doble y se muestra en la columna Expr1.

SELECT ProductID, CInt(Discount) AS Expr1 FROM productSales;

Devuelve "ProductID", convierte los valores del campo "Descuento" en formato Entero y se muestra en la columna Expr1.

SELECT ProductID, CLng(Discount) AS Expr1 FROM productSales;

Devuelve "ProductID", convierte los valores del campo "Descuento" en formato largo y se muestra en la columna Expr1.

SELECT ProductID, CSng(Discount) AS Expr1 FROM productSales;

Devuelve "ProductID", convierte los valores del campo "Descuento" en formato único y se muestra en la columna Expr1.

SELECT ProductID, CStr(Discount) AS Expr1 FROM productSales;

Devuelve "ProductID", convierte los valores del campo "Descuento" en formato String y se muestra en la columna Expr1.

SELECT ProductID, CVar(Discount) AS Expr1 FROM productSales;

Devuelve "ProductID", convierte los valores del campo "Descuento" en Double para valores numéricos y String para valores no numéricos.

Ejemplos de VBA

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

Función CBool

Sugerencia:  El Generador de expresiones con IntelliSense a partir de Access 2010 ayuda a hacer las expresiones correctas.

En este ejemplo se usa la función CBool para convertir una expresión en un valor booleano. Si la expresión se evalúa como un valor distinto de cero, CBool devuelve True; de lo 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

En este ejemplo se usa la función CByte para convertir una expresión enbyte.

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

Función CCur

En este ejemplo se usa la función CCur para convertir una expresión en 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

En este ejemplo se usa la función CDate para convertir una cadena en una fecha. En general, no se recomienda codificar fechas y horas como cadenas (como se muestra en este ejemplo). Use literales de fecha y literales de hora, como #2/12/1969# y #4:45:23 p.m.#, 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

En este ejemplo se usa la función CDbl para convertir una expresión en doble.

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

Función CDec

En este ejemplo se 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

En este ejemplo se usa la función CInt para convertir un valor en un entero.

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

Función CLng

En este ejemplo se usa la función CLng para convertir un valor en un valor Long.

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

En este ejemplo se usa la función CSng para convertir un valor en un single.

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

En este ejemplo se 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

En este ejemplo se usa la función CVar para convertir una expresión en variant.

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

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?

¡Gracias por sus comentarios!

×