Cada função coagiu uma expressão a um tipo de dados específico .

Sintaxe

CBool( expressão)

CByte( expressão)

CCur( expressão)

CDate( expressão)

CDbl ( expressão)

CDec( expressão)

CInt( expressão)

CLng ( expressão)

CSng ( expressão)

CStr ( expressão)

CVar( expressão)

A expressão requeridaargumento é qualquer expressão de cadeia ou expressão numérica.

Tipos de retorno

O nome da função determina o tipo de devolução, tal como indicado no seguinte:

Função

Tipo de retorno

Intervalo para argumento de expressão

CBool

booleano

Qualquer corda válida ou expressão numérica.

CByte

Byte

0 a 255.

CCur

Moeda

-922.337.203.685.477.5808 para 922.337.203.685.477.5807.

CData

Data

Uma expressão de data válida.

CDbl

Duplo

-1.79769313486231E308 a
-4.9406565841247E-324 para valores negativos; 4.9406565645841247E-324 a 1,7976931346233308 para valores positivos.

CDec

Decimal

+/-79.228.162.514.264.337.593.543.950.335 para números de escala zero, ou seja, números sem lugares decimais. Para números com 28 decimais, a gama é
+/-7.9228162514264337593543950333335. O número mais pequeno diferente de zero é 0,0000000000000000000000000001.

CInt

Inteiro

-32.768 a 32.767; frações são arredondadas.

CLng

Longo

-2.147.483.648 a 2.147.483.647; frações são arredondadas.

CSng

Único

-3.402823E38 para -1.401298E-45 para valores negativos; 1.401298E-45 a 3.402823E38 para valores positivos.

CStr

Cadeia

As devoluções para CStr dependem do argumento da expressão.

CVar

Variante

O mesmo intervalo que Duplo para carateres numéricos. O mesmo intervalo de Cadeia para carateres não numéricos.

Observações

Se a expressão transmitida para a função estiver fora do alcance do tipo de dados a que se converte, ocorre um erro.

Em geral, pode documentar o seu código utilizando as funções de conversão do tipo de dados para mostrar que o resultado de alguma operação deve ser expresso como um determinado tipo de dados e não como o tipo de dados predefinido. Por exemplo, utilize o CCur para forçar a aritmética cambial nos casos em que a aritmética de precisão única, de dupla precisão ou inteiro ocorre normalmente.

Deve utilizar as funções de conversão do tipo de dados em vez de Val para fornecer conversões de um tipo de dados para outro. Por exemplo, quando utiliza CCur,diferentes separadores decimais, diferentes mil separadores e várias opções de moeda são devidamente reconhecidos dependendo da configuração local do seu computador.

Quando a parte fracionada é exatamente 0,5, CInt e CLng sempre a rodeiem para o número par mais próximo. Por exemplo, 0,5 rounds a 0, e 1,5 rounds a 2. CInt e CLng diferem das funções Fix e Int, que truncam, em vez de redondas, a parte fracionada de um número. Além disso, a Fix e a Int devolvem sempre um valor do mesmo tipo que é passado.

Utilize a função IsDate para determinar se a data pode ser convertida para uma data ou hora. O CDate reconhece datas literais e tempo literal, bem como alguns números que se enquadram no intervalo de datas aceitáveis. Ao converter um número para uma data, a parte do número inteiro é convertida para uma data. Qualquer parte fracionada do número é convertida para uma hora do dia, a partir da meia-noite.

O CDate reconhece os formatos de data de acordo com a definição região do seu sistema. A ordem correta do dia, mês e ano não pode ser determinada se for fornecida num formato diferente de uma das definições de data reconhecidas. Além disso, um formato de data longa não é reconhecido se também contém a cadeia do dia-a-semana.

Uma função CVDate também está prevista para compatibilidade com versões anteriores do Visual Basic. A sintaxe da função CVDate é idêntica à função CDate, no entanto, o CVDate devolve uma Variante cujo subtipo é Data em vez de um tipo de Data real. Uma vez que existe agora um tipo de Data intrínseca, não há mais necessidade de CVDate. O mesmo efeito pode ser alcançado convertendo uma expressão para uma Data e, em seguida, atribuindo-a a uma Variante. Esta técnica é consistente com a conversão de todos os outros tipos intrínsecos aos seus subtipos variantes equivalentes.

Nota:  A função CDec não devolve um tipo de dados discreto; em vez disso, devolve sempre uma Variante cujo valor foi convertido para um subtipo decimal.

Exemplos de consulta

Expressão

Resultados

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

Devolve "SalePrice", "FinalPrice" e avalia se o SalePrice é maior do que o Preço Final. Devolve "-1" se for verdade e "0" se for falso.

SELECT ProductID, CByte (Quantidade) AS Expr1 FROM ProductSales;

Devolve "ProductID", converte os valores no campo "Quantidade" para formato bytes e apresenta na coluna Expr1 Devolve "ProductID", converte os valores no campo "Quantidade" para formato de moeda e apresenta na coluna Expr1.

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

Devolve "ProductID", converte os valores no campo "DateofSale" em formato Data e apresenta na coluna Expr1.

SELECT ProductID, CDbl (Desconto) AS Expr1 FROM ProductSales;

Devolve "ProductID", converte os valores no campo "Desconto" em formato duplo e apresenta na coluna Expr1.

SELECT ProductID, CInt (Desconto) AS Expr1 FROM ProductSales;

Devolve "ProductID", converte os valores no campo "Discount" em formato Inteiro e apresenta na coluna Expr1.

SELECT ProductID, CLng (Desconto) AS Expr1 FROM ProductSales;

Devolve "ProductID", converte os valores no campo "Discount" em formato longo e apresenta na coluna Expr1.

SELECT ProductID, CSng (Desconto) AS Expr1 FROM ProductSales;

Devolve "ProductID", converte os valores no campo "Discount" em formato único e apresenta na coluna Expr1.

SELECT ProductID, CStr (Desconto) AS Expr1 FROM ProductSales;

Devolve "ProductID", converte os valores no campo "Discount" em formato string e aparece na coluna Expr1.

SELECT ProductID, CVar (Desconto) AS Expr1 FROM ProductSales;

Devolve "ProductID", converte os valores no campo "Discount" em Duplo para valores numéricos e String para valores não numéricos.

Exemplos de VBA

Nota: Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de pesquisa.

Função CBool

Sugestão:  O Expression Builder com IntelliSense a partir do Access 2010 ajuda a acertar as suas expressões.

Este exemplo utiliza a função CBool para converter uma expressão num Boolean. Se a expressão avaliar a um valor não zero, cBool devolve True; caso contrário, devolve Falso.

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.

Função CByte

Este exemplo utiliza a função CByte para converter uma expressão num Byte.

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

Função CCur

Este exemplo utiliza a função CCur para converter uma expressão numa Moeda.

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

Função CDate

Este exemplo utiliza a função CDate para converter uma corda para uma Data. Em geral, não são recomendadas datas e horários de codificação rígido como cordas (como mostrado neste exemplo) não são recomendados. Use datas literais e tempo literal, tais como #2/12/1969# e #4:45:23 PM#, em vez disso.

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)

Função CDBL

Este exemplo utiliza a função CDbl para converter uma expressão num Double.

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

Função CDec

Este exemplo utiliza a função CDec para converter um valor numérico para um Decimal.

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

Função CInt

Este exemplo utiliza a função CInt para converter um valor num Inteiro.

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

Função CLng

Este exemplo utiliza a função CLng para converter um valor num Longo.

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.

Função CSNG

Este exemplo utiliza a função CSng para converter um valor para um único.

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.

Função CStr

Este exemplo utiliza a função CStr para converter um valor numérico numa corda.

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

Função CVar

Este exemplo utiliza a função CVar para converter uma expressão numa Variante.

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

Precisa de mais ajuda?

Aumente os seus conhecimentos

Explore as formações >

Seja o primeiro a obter novas funcionalidades

Aderir ao Microsoft insiders >

As informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?

Obrigado pelo seu feedback!

×