Funções de conversão de tipo

Cada função impõe uma expressão a uma tipo de dados específica.

Sintaxe

CBool ( expressão )

CByte ( expressão )

CCur ( expressão )

CDATA ( 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 necessáriaargumento é qualquer expressão de cadeia de caracteres ou expressão numérica.

Tipos de retorno

O nome da função determina o tipo de retorno conforme mostrado a seguir:

Função

Tipo de retorno

Intervalo para expressão argumento

CBool

Booliano

Qualquer cadeia de caracteres ou expressão numérica válida.

CByte

Byte

0 a 255.

CCur

Moeda

-922337203685477,5808 a 922337203685477,5807.

CDate

Data

Qualquer expressão de data válida.

CDbl

Duplo

-1.79769313486231 e308
-4.94065645841247 e-324 para valores negativos; 4.94065645841247 e-324 a 1.79769313486232 e308 para valores positivos.

CDec

Decimal

+/-79228162514264337593543950335 para números com escala de zero, isto é, números sem casas decimais. Para números com 28 casas decimais, o intervalo é
+/-7.9228162514264337593543950335. O menor número diferente de zero possível é 0,0000000000000000000000000001.

CInt

Inteiro

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

CLng

Longas

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

CSng

Simples

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

CStr

Cadeia de caracteres

Retorna para CStr depende do argumento de expressão .

CVar

Variante

Mesmo intervalo de Duplo para numéricos. Mesmo intervalo de Cadeia para não numéricos.

Comentários

Se a expressão passada para a função estiver fora do intervalo do tipo de dados que está sendo convertido, ocorrerá um erro.

Em geral, você pode documentar o código usando as funções de conversão de tipo de dados para mostrar que o resultado de alguma operação deve ser expresso como um determinado tipo de dados, em vez do tipo de dados padrão. Por exemplo, use CCur para forçar a aritmética de moeda em casos em que, em geral, ocorre uma precisão única, dupla de precisão ou aritmética inteira.

Você deve usar as funções de conversão de tipo de dados em vez de Val para fornecer conversões de reconhecimento internacionalizadas de um tipo de dados para outro. Por exemplo, quando você usa CCur, separadores decimais diferentes, diferentes separadores de milhar e várias opções de moeda são reconhecidos corretamente, dependendo da configuração de localidade do seu computador.

Quando a parte fracionária é exatamente 0,5, CInt e CLng sempre arredondam para o número par mais próximo. Por exemplo, 0,5 arredonda para 0 e 1,5 será arredondado para 2. CInt e CLng diferem das funções Fix e int , que truncam, em vez de arredondar, a parte fracionária de um número. Além disso, Fix e int sempre retornam um valor do mesmo tipo que é passado.

Use a função ISDATE para determinar se a Data pode ser convertida em uma data ou hora. CDATA reconhece literais de data e horas e literais de tempo, bem como alguns números que estão dentro do intervalo de datas aceitáveis. Ao converter um número em uma data, a parte inteira do número é convertida em uma data. Qualquer parte fracionária do número é convertida em uma hora do dia, começando à meia-noite.

CDATA reconhece formatos de data de acordo com a configuração localidade do seu sistema. A ordem correta de dia, mês e ano pode não ser determinada se for fornecida em um formato diferente de uma das configurações de data reconhecidas. Além disso, um formato de data por extenso não será reconhecido se também contiver a cadeia de caracteres do dia da semana.

Uma função CVDate também é fornecida para compatibilidade com versões anteriores do Visual Basic. A sintaxe da função CVDate é idêntica à função CDATA , no entanto, CVDate retorna uma variante cujo subtipo é a Data em vez de um tipo de Data real. Como agora há um tipo de Data intrínseco, não há mais necessidade de CVDate. O mesmo efeito pode ser obtido convertendo uma expressão em uma Data e, em seguida, atribuindo-a a uma variante. Essa técnica é consistente com a conversão de todos os outros tipos intrínsecos em seus subtipos variantes equivalentes.

Observação:  A função CDec não retorna um tipo de dados discreto; em vez disso, ele sempre retorna uma variante cujo valor foi convertido em um subtipo decimal .

Exemplos de consulta

Expressão

Resultados

Selecione SalePrice, FinalPrice, CBool (SalePrice>FinalPrice) como expr1 do productSales;

Retorna "SalePrice", "FinalPrice" e avalia se SalePrice é maior do que o preço final. Retorna "-1" se verdadeiro e "0" se falso.

SELECIONE ProductID, CByte (quantidade) como expr1 de productSales;

Retorna "ProductID", converte os valores no campo "quantidade" no formato bytes e exibe na coluna expr1 retorna "ProductID", converte os valores no campo "quantidade" para o formato de moeda e exibe na coluna expr1.

SELECIONE ProductID, CDate (DateofSale) como expr1 do productSales;

Retorna "ProductID", converte os valores no campo "DateofSale" no formato de data e exibe na coluna expr1.

SELECIONE ProductID, CDbl (Discount) como expr1 FROM productSales;

Retorna "ProductID", converte os valores no campo "Discount" em formato duplo e é exibido na coluna expr1.

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

Retorna "ProductID", converte os valores no campo "Discount" em formato inteiro e exibe na coluna expr1.

SELECIONE ProductID, CLng (Discount) como expr1 a partir de productSales;

Retorna "ProductID", converte os valores no campo "Discount" em formato longo e é exibido na coluna expr1.

SELECIONE ProductID, CSng (Discount) como expr1 a partir de productSales;

Retorna "ProductID", converte os valores no campo "Discount" em um único formato e é exibido na coluna expr1.

SELECIONE ProductID, CStr (Discount) como expr1 a partir de productSales;

Retorna "ProductID", converte os valores no campo "Discount" no formato de cadeia de caracteres e exibe na coluna expr1.

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

Retorna "ProductID", converte os valores no campo "Discount" em Double para valores numéricos e cadeia de caracteres para valores não numéricos.

Exemplos do VBA

Observação: Exemplos a seguir demonstram o uso dessa função em um módulo do Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, selecione referência do desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.

Função CBool

Dica:  O construtor de expressões com IntelliSense começando no Access 2010 ajuda a obter suas expressões à direita.

Este exemplo usa a função CBool para converter uma expressão em um booliano. Se a expressão for avaliada como um valor diferente de zero, CBool retornará true; caso contrário, retorna 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.

Função CByte

Este exemplo usa a função CByte para converter uma expressão em um byte.

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

Função CCur

Este exemplo usa a função CCur para converter uma expressão em uma Currency.

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 CDATA

Este exemplo usa a função CDATA para converter uma cadeia de caracteres em uma Data. Em geral, não é recomendável codificar as datas e as horas como cadeias de caracteres (conforme mostrado neste exemplo). Use literais de data e hora, 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 usa a função CDbl para converter uma expressão em 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 usa a função CDec para converter um valor numérico em um decimal.

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

Função CInt

Este exemplo usa a função CInt para converter um valor em um inteiro.

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

Função CLng

Este exemplo usa a função CLng para converter um valor para um 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 usa a função CSng para converter um valor em 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 usa a função CStr para converter um valor numérico em uma cadeia de caracteres.

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

Função CVar

Este exemplo usa a função cvar para converter uma expressão em Variant.

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

Observação:  Esta página foi traduzida automaticamente e pode apresentar erros gramaticais ou imprecisões. Nosso objetivo é que este conteúdo seja útil para você. Você pode nos dizer se as informações foram úteis? Use o artigo em inglês como referência.​

Expanda suas habilidades no Office
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×