Funciones de conversión de tipo

Cada función convierte un expresión en un tipo de datos específico.

Sintaxis

CBool ( expr )

CByte ( expr )

CCur ( expr )

CDate ( expr )

CDbl ( expr )

CDEC ( expr )

Cint ( expr )

CLng ( expr )

CSng ( expr )

CStr ( expr )

Cvar ( expr )

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

Tipos devueltos

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

Función

Tipo de valor devuelto

Intervalo de Expression ) argumento

CBool

Boolean

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

CByte

Byte

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.79769313486231 79769313486232e308
-94065645841247e e-324 para valores negativos; 94065645841247e e-324 y 79769313486232e308 79769313486232E308 para valores positivos.

CDec

Decimal

+/-79.228.162.514.264.337.593.543.950.335 para números con escala cero, es decir, números sin decimales. Para los 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; se redondean las fracciones.

CLng

Larga

-2.147.483.648 a 2.147.483.647; se redondean las fracciones.

CSng

Single

-y 402823e38 402823e38-401298e E-45 para valores negativos; 401298e e-45 y 402823e38 402823E38 para valores positivos.

CStr

String

Las devoluciones de CStr dependen del argumento de la expresión .

CVar

Condiciones

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 que se está convirtiendo, se producirá 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 se debe expresar 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 casos en los que normalmente se produciría una 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 utilizar CCur, se reconocerán correctamente los distintos separadores decimales, separadores de miles y opciones de moneda, según la configuración regional del equipo.

Cuando la parte fraccionaria es exactamente 0,5, cint y CLng siempre la redondean al número par más próximo. Por ejemplo, 0,5 redondea a 0 y 1,5 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 devuelven siempre un valor del mismo tipo que el que se pasa.

Use la función ISDATE para determinar si la fecha se puede convertir en una fecha u hora. CFecha reconoce literales de fecha y literales de tiempo, así como algunos números que se encuentran dentro del rango de fechas aceptadas. Cuando se convierte un número en una fecha, la parte entera se convierte en una fecha. Cualquier parte fraccionaria del número se convierte en una hora del día, a partir de la medianoche.

CFecha reconoce los formatos de fecha según el configuración regional configuración de su sistema. Es posible que no se determine el orden correcto del día, mes y año si se proporciona en un formato que no sea uno de los valores de fecha reconocidos. 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 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 ; sin embargo, CVDate devuelve un tipo de dato Variant cuyo subtipo es Date en lugar de un tipo de fecha real. Puesto que ahora hay un tipo Date intrínseco, no hay necesidad de CVDate. Para lograr el mismo efecto, puede convertir una expresión en una fecha y, a continuación, asignarla a una variante. Esta técnica es coherente con la conversión de todos los demás tipos intrínsecos a sus subtipos de variante equivalente.

Nota:  La función CDEC no devuelve un tipo de datos discreto; en su lugar, siempre devuelve un tipo de dato Variant cuyo valor se ha convertido en un subtipo decimal .

Ejemplos de consultas

Expresión

Resultados

SELECT SalePrice, FinalPrice, CBool (SalePrice>FinalPrice) como expr1 FROM productSales;

Devuelve "SalePrice", "FinalPrice" y evalúa si SalePrice es mayor que el precio final. Devuelve "-1" si es true y "0" si es false.

Seleccione IdProducto, CByte (cantidad) como expr1 FROM productSales;

Devuelve "IdProducto", convierte los valores del campo "cantidad" al formato bytes y muestra en la columna expr1 devuelve "IdProducto", convierte los valores del campo "cantidad" a formato de moneda y se muestra en la columna expr1.

Seleccione ProductID, CDate (DateofSale) como expr1 FROM productSales;

Devuelve "IdProducto", convierte los valores del campo "DateofSale" a formato de fecha y se muestra en la columna expr1.

Seleccione IdProducto, CDbl (descuento) como expr1 FROM productSales;

Devuelve "IdProducto", convierte los valores del campo "descuento" al formato doble y se muestra en la columna expr1.

Seleccione ProductID, CInt (Discount) como expr1 FROM productSales;

Devuelve "IdProducto", convierte los valores del campo "descuento" al formato de número entero y se muestra en la columna expr1.

Seleccione ProductID, CLng (descuento) como expr1 FROM productSales;

Devuelve "IdProducto", convierte los valores del campo "descuento" al formato largo y se muestra en la columna expr1.

Seleccione ProductID, CSng (Discount) como expr1 FROM productSales;

Devuelve "IdProducto", convierte los valores del campo "descuento" a un único formato y se muestra en la columna expr1.

Seleccione ProductID, CStr (Discount) como expr1 FROM productSales;

Devuelve "IdProducto", convierte los valores del campo "descuento" al formato de cadena y se muestra en la columna expr1.

Seleccione ProductID, CVar (Discount) como expr1 FROM productSales;

Devuelve "IdProducto", convierte los valores del campo "descuento" en valores numéricos y cadena para valores no numéricos.

Ejemplos de VBA

Nota: En los siguientes ejemplos se muestra el uso de esta función en un módulo de Visual Basic para aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada 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 que comienza en Access 2010 ayuda a obtener 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; 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

En este ejemplo se usa la función CMoneda 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

Este ejemplo usa la función CDate para convertir una cadena en un valor de tipo Date. En general, no se recomienda el código de las fechas y horas como cadenas (como se muestra en este ejemplo). Usa literales de fecha y 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

Este ejemplo usa la función CDbl para convertir una expresión a Double.

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

CDec (función)

En este ejemplo se usa la función CDEC para convertir un valor numérico en un valor 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 valor 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 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

Este ejemplo usa la función CSng para convertir un valor en 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

Este ejemplo usa la función CStr para convertir un valor numérico en un valor de tipo String.

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 en un valor de tipo Variant.

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

Nota:  Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido le resulte útil. ¿Podría decirnos si la información le resultó útil? Aquí puede consultar el artículo en inglés.

Ampliar sus conocimientos de Office
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.

×