Funções de Conversão de Tipos

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

Sintaxe

CBool ( expressão )

CByte ( expressão )

CMoeda ( 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 ou expressão numérica.

Tipos de retorno

O nome da função determina o tipo de retorno conforme mostrado no seguinte:

Função

Tipo de retorno

Intervalo para expressão argumento

CBool

booleano

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

CByte

Byte

0 a 255.

CCur

Moeda

-922337203685477,5808 a 922337203685477,5807.

CData

Data

Uma expressão de data válida.

CDbl

Duplo

-1.79769313486231 79769313486232E308 para
-94065645841247e e-324 para valores negativos; 94065645841247e e-324 para 1 79769313486232E308 79769313486232E308 para valores positivos.

CDec

Decimal

+/-79228162514264337593543950335 para números com escala de zero, ou seja, números sem casas decimais. Para números com 28 casas decimais, o intervalo é
+/-7.9228162514264337593543950335. O número mais pequeno diferente de zero é 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

Único

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

CStr

Cadeia

Devoluções para CStr depende do argumento expression .

CVar

Variáveis

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 passada para a função estiver fora do intervalo de conversão do tipo de dados, ocorrerá um erro.

Em geral, pode documentar o seu código utilizando 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 predefinido. Por exemplo, utilize CMoeda para forçar a aritmética de moeda nos casos em que a precisão única, a precisão dupla ou a aritmética de número inteiro normalmente ocorreria.

Deve utilizar 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 utiliza o CMoeda, os separadores decimais diferentes, os separadores de milhares diferentes e várias opções de moeda são corretamente reconhecidos consoante a definição de localidade do seu computador.

Quando a parte fracionária é exatamente 0,5, CInt e CLng são sempre arredondadas para o número par mais próximo. Por exemplo, o 0,5 arredonda para 0 e o 1,5 arredonda 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. Também, Fix e int devolvem sempre um valor do mesmo tipo que é transmitido.

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

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

Também é fornecida uma função CVDate para compatibilidade com versões anteriores do Visual Basic. A sintaxe da função CVDate é idêntica à função CDATA , mas a 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ínseco, não existe mais necessidade de CVDate. O mesmo efeito pode ser obtido ao converter uma expressão numa Data e, em seguida, atribuí-la a uma variante. Esta técnica é consistente com a conversão de todos os outros tipos intrínsecos para os subtipos de 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 num subtipo decimal .

Exemplos de consulta

Expressão

Resultados

Selecione SalePrice, FinalPrice, CBool (SalePrice>FinalPrice) como expr1 a partir de productSales;

Devolve "SalePrice", "FinalPrice" e avaliado se SalePrice for maior do que o preço final. Devolve "-1" se verdadeiro e "0" se for falso.

Selecione CódigoDoProduto, CByte (quantidade) como expr1 do productSales;

Devolve "CódigoDoProduto", converte os valores no campo "quantidade" no formato bytes e é apresentado na coluna expr1 devolve "CódigoDoProduto", converte os valores no campo "quantidade" em formato de moeda e é apresentado na coluna expr1.

Selecione CódigoDoProduto, CDate (DateofSale) como expr1 a partir de productSales;

Devolve "CódigoDoProduto", converte os valores no campo "DateofSale" no formato de data e apresenta a coluna expr1.

Selecione CódigoDoProduto, CDbl (desconto) como expr1 do productSales;

Devolve "CódigoDoProduto", converte os valores no campo "Discount" em formato duplo e é apresentado na coluna expr1.

Selecione CódigoDoProduto, CInt (desconto) como expr1 do productSales;

Devolve "CódigoDoProduto", converte os valores no campo "Discount" em formato inteiro e é apresentado na coluna expr1.

Selecione CódigoDoProduto, CLng (desconto) como expr1 do productSales;

Devolve "CódigoDoProduto", converte os valores no campo "Discount" em formato longo e é apresentado na coluna expr1.

Selecione CódigoDoProduto, CSng (desconto) como expr1 a partir de productSales;

Devolve "CódigoDoProduto", converte os valores no campo "Discount" em formato único e é apresentado na coluna expr1.

Selecione CódigoDoProduto, CStr (desconto) como expr1 a partir de productSales;

Devolve "CódigoDoProduto", converte os valores no campo "Discount" em formato de cadeia e apresenta a coluna expr1.

Selecione CódigoDoProduto, CVar (desconto) como expr1 a partir de productSales;

Devolve "CódigoDoProduto", converte os valores no campo "Discount" em Double para valores numéricos e cadeia 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 construtor de expressões com IntelliSense a partir do Access 2010 ajuda a obter as suas expressões diretamente.

Este exemplo utiliza a função CBool para converter uma expressão num valor booleano. Se a expressão for avaliada como um valor diferente de zero, CBool devolve verdadeiro; 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 CMoeda

Este exemplo utiliza a função CMoeda 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 CDATA

Este exemplo utiliza a função CDATA para converter uma cadeia numa Data. Em geral, as datas e as horas de codificação rígida como cadeias de caracteres (tal como é apresentada neste exemplo) não são recomendadas. Utilize literais de datas e horas como literais, 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 num 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 número 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 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 utiliza a função CSng para converter um valor num ú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 cadeia.

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.

Nota:  Esta página foi traduzida automaticamente e pode conter erros gramaticais ou imprecisões. O nosso objetivo é que estes conteúdos lhe sejam úteis. Pode indicar-nos se estas informações foram úteis? Eis o artigo em inglês para sua referência.​

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×