Partilhar via


Funções de conversão de tipo 

These functions are compiled inline, meaning the conversion code is part of the code that evaluates the expression.Sometimes there is no call to a procedure to accomplish the conversion, which improves performance.Each function coerces an expression to a specific data type.

CBool(expression)
CByte(expression)
CChar(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CLng(expression)
CObj(expression)
CSByte(expression)
CShort(expression)
CSng(expression)
CStr(expression)
CUInt(expression)
CULng(expression)
CUShort(expression)

Parte

  • expression
    Obrigatório.Any expression of the source data type.

Return Value Data Type

The function name determines the data type of the value it returns, as shown in the following table.

Nome da função

Tipo de dado retonado

Intervalo de expression argumento

CBool

Tipo de dados booleanos (Visual Basic)

Qualquer válido Char ou String ou expressão numérica.

CByte

Tipo de dados Byte (Visual Basic)

0 a 255 (não assinado); partes fracionários serão arredondados. 1

CChar

Caractere tipo de dados (Visual Basic)

Qualquer válido Char ou String expressão; somente primeiro caractere de um String é convertida; valor pode ser de 0 a 65535 (sem assinatura).

CDate

Tipo de dados Data (Visual Basic)

Any valid representation of a date and time.

CDbl

Tipo de dados duplo (Visual Basic)

-1.79769313486231570E+308 through -4.94065645841246544E-324 for negative values; 4.94065645841246544E-324 through 1.79769313486231570E+308 for positive values.

CDec

Tipo de dados decimais (Visual Basic)

+/-79,228,162,514,264,337,593,543,950,335 for zero-scaled numbers, that is, numbers with no decimal places.For numbers with 28 decimal places, the range is +/-7.9228162514264337593543950335.The smallest possible non-zero number is 0.0000000000000000000000000001 (+/-1E-28).

CInt

Tipo de Dados Inteiro (Visual Basic)

-2.147.483.648 a 2.147.483.647; partes fracionários serão arredondados. 1

CLng

Tipo de dados Long (Visual Basic)

-9,223,372,036,854,775,808 through 9,223,372,036,854,775,807; fractional parts are rounded.1

CObj

Tipo de dados Object

Any valid expression.

CSByte

Tipo de dado SByte (Visual Basic)

-128 through 127; fractional parts are rounded.1

CShort

Tipo de dados Short (Visual Basic)

-32,768 through 32,767; fractional parts are rounded.1

CSng

Tipo de dados único (Visual Basic)

-3.402823E+38 through -1.401298E-45 for negative values; 1.401298E-45 through 3.402823E+38 for positive values.

CStr

Tipo de dados de sequência de caracteres (Visual Basic)

Retornos para CStr dependem de expression argumento. SeeValores de Retorno para a Função CStr.

CUInt

Tipo de dados UInteger

0 a 4.294.967.295 (não assinado); partes fracionários serão arredondados. 1

CULng

Tipo de dados ULong (Visual Basic)

0 a 18.446.744.073.709.551.615 (não assinado); partes fracionários serão arredondados. 1

CUShort

Tipo de dados UShort (Visual Basic)

0 a 65.535 (não assinado); partes fracionários serão arredondados. 1

1 Fractional parts can be subject to a special type of rounding called banker's rounding.See "Remarks" for more information.

Comentários

sistema autônomo regra, você deve usar sistema autônomo funções de conversão de tipo Visual Basic em preferência aos métodos do .NET Framework, sistema autônomo ToString(), sistema autônomo Convert classe ou em uma classe ou estrutura tipo individuais. The Visual Basic functions are designed for optimal interaction with Visual Basic code, and they also make your source code shorter and easier to read.Além disso, o .NET estrutura, faça métodos de conversão nem sempre produzem sistema autônomo mesmos resultados sistema autônomo sistema autônomo funções do Visual Basic, por exemplo, ao converter Boolean para Integer. Para obter mais informações, consulte Solucionando problemas de Tipos de Dados.

Comportamento

  • Coercion. In general, you can use the data type conversion functions to coerce the result of an operation to a particular data type rather than the default data type.Por exemplo, use CDec para forçar aritmética decimal em casos onde precisão simples, precisão dupla ou aritmética de inteiro seria normalmente ocorrem.

  • Failed Conversions. Se o expression passado para a função está fora do intervalo do tipo de dados ao qual ele será convertido, um OverflowException ocorre.

  • Fractional Parts. Quando você converter um valor nonintegral em um tipo integral, as funções de conversão de inteiro (CByte, CInt, CLng, CSByte, CShort, CUInt, CULng, e CUShort) removem a parte fracionária e arredondará o valor para o inteiro mais próximo.

    If the fractional part is exactly 0.5, the integer conversion functions round it to the nearest even integer.Por exemplo, 0,5 é arredondado para 0 e 1.5 e 2.5 que ambos arredondados para 2.Às vezes é chamado o arredondamento bancário e sua finalidade é compensar uma inclinação pode acumular ao adicionar muitos desses números juntos.

    CInt e CLng diferir da Int, funções de correção (Visual Basic), que truncar, em vez de arredondar, a parte fracionária de um número. Além disso, Fix e Int sempre retorna um valor do mesmo tipo de dados conforme você passa.

  • Date/Time Conversions. Use o Função IsDate (Visual Basic) para determinar se um valor pode ser convertido para uma data e time. CDate reconhece literais de data e literais de time, mas os valores não numéricos. Para converter um Visual Basic 6.0 Date valor para um Date valor no Visual Basic 2005 ou posterior, você pode usar o DateTime.FromOADate método.

  • Neutral Date/Time Values. The Tipo de dados Data (Visual Basic) sempre contém informações de data e time. For purposes of type conversion, Visual Basic considers 1/1/0001 (January 1 of the year 1) to be a neutral value for the date, and 00:00:00 (midnight) to be a neutral value for the time.Se você converter um Date valor para uma seqüência de caracteres CStr não inclui valores neutras na seqüência de caracteres resultante. For example, if you convert #January 1, 0001 9:30:00# to a string, the result is "9:30:00 AM"; the date information is suppressed.No entanto, a informação de data ainda está presente no valor Date original e pode ser recuperada com funções do tipo Função DatePart (Visual Basic).

  • Culture Sensitivity. The type conversion functions involving strings perform conversions based on the current culture settings for the application.Por exemplo, CDate reconhece os formatos de data de acordo com a configuração de localidade do sistema. You must provide the day, month, and year in the correct order for your locale, or the date might not be interpreted correctly.A long date format is not recognized if it contains a day-of-the-week string, such as "Wednesday".

    If you need to convert to or from a string representation of a value in a format other than the one specified by your locale, you cannot use the Visual Basic type conversion functions.To do this, use the ToString(IFormatProvider) and Parse(String, IFormatProvider) methods of that value's type.Por exemplo, use Double.Parse ao converter uma seqüência de caracteres para um Doublee usar Double.ToString ao converter um valor de tipo Double em uma seqüência de caracteres.

CType Function

The Função CType usa um segundo argumento, typenamee o converte no expression para typename, onde typename pode ser qualquer tipo de dados, estrutura, classe ou interface para o qual existe uma conversão válida.

Para uma comparação de CType com as outras conversão de tipos palavras-chave, consulte DirectCast e TryCast.

CBool Example

O exemplo a seguir utiliza o CBool função para converter expressões para Boolean valores. Se uma expressão for avaliada como um valor diferente de zero, CBool Retorna True; Caso contrário, retornará False.

Dim a, b, c As Integer
Dim check As Boolean
a = 5
b = 5
' The following line of code sets check to True.
check = CBool(a = b)
c = 0
' The following line of code sets check to False.
check = CBool(c)

CByte Example

O exemplo a seguir utiliza o CByte função para converter uma expressão para um Byte.

Dim aDouble As Double
Dim aByte As Byte
aDouble = 125.5678
' The following line of code sets aByte to 126.
aByte = CByte(aDouble)

CChar Example

O exemplo a seguir utiliza o CChar função para converter o primeiro caractere de um String expressão para um Char Digite.

Dim aString As String
Dim aChar As Char
' CChar converts only the first character of the string.
aString = "BCD"
' The following line of code sets aChar to "B".
aChar = CChar(aString)

O argumento de entrada para CChar deve ser do tipo de dados Char ou String. Não é possível usar CChar Para converter um número em um caractere, porque CChar não pode aceitar um tipo de dados numéricos. The following example obtains a number representing a code point (character code) and converts it to the corresponding character.Ele usa o Função InputBox (Visual Basic)  Para obter a seqüência de dígitos, CInt converter a seqüência de caracteres digite Integer, e ChrW Para converter o número digitar Char.

Dim someDigits As String
Dim codePoint As Integer
Dim thisChar As Char
someDigits = InputBox("Enter code point of character:")
codePoint = CInt(someDigits)
' The following line of code sets thisChar to the Char value of codePoint.
thisChar = ChrW(codePoint)

CDate Example

O exemplo a seguir utiliza o CDate função para converter seqüências de caracteres Date valores. In general, hard-coding dates and times as strings (as shown in this example) is not recommended.Use date literals and time literals, such as #Feb 12, 1969# and #4:45:23 PM#, instead.

Dim aDateString, aTimeString As String
Dim aDate, aTime As Date
aDateString = "February 12, 1969"
aTimeString = "4:35:47 PM"
' The following line of code sets aDate to a Date value.
aDate = CDate(aDateString)
' The following line of code sets aTime to Date value.
aTime = CDate(aTimeString)

CDbl Example

Dim aDec As Decimal
Dim aDbl As Double
' The following line of code uses the literal type character D to make aDec a Decimal.
aDec = 234.456784D
' The following line of code sets aDbl to 1.9225456288E+1.
aDbl = CDbl(aDec * 8.2D * 0.01D)

CDec Example

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

Dim aDouble As Double
Dim aDecimal As Decimal
aDouble = 10000000.0587
' The following line of code sets aDecimal to 10000000.0587.
aDecimal = CDec(aDouble)

CInt Example

O exemplo a seguir utiliza o CInt função para converter um valor para Integer.

Dim aDbl As Double
Dim anInt As Integer
aDbl = 2345.5678
' The following line of code sets anInt to 2346.
anInt = CInt(aDbl)

CLng Example

O exemplo a seguir utiliza o CLng função para converter valores para Long.

Dim aDbl1, aDbl2 As Double
Dim aLng1, aLng2 As Long
aDbl1 = 25427.45
aDbl2 = 25427.55
' The following line of code sets aLng1 to 25427.
aLng1 = CLng(aDbl1)
' The following line of code sets aLng2 to 25428.
aLng2 = CLng(aDbl2)

CObj Example

O exemplo a seguir utiliza o CObj função para converter um valor numérico para Object. The Object variável em si contém apenas um ponteiro de quatro byte, que aponta para o Double valor atribuído a ele.

Dim aDouble As Double
Dim anObject As Object
aDouble = 2.7182818284
' The following line of code sets anObject to a pointer to aDouble.
anObject = CObj(aDouble)

CSByte Example

O exemplo a seguir utiliza o CSByte função para converter um valor numérico para SByte.

Dim aDouble As Double
Dim anSByte As SByte
aDouble = 39.501
' The following line of code sets anSByte to 40.
anSByte = CSByte(aDouble)

CShort Example

O exemplo a seguir utiliza o CShort função para converter um valor numérico para Short.

Dim aByte As Byte
Dim aShort As Short
aByte = 100
' The following line of code sets aShort to 100.
aShort = CShort(aByte)

CSng Example

O exemplo a seguir utiliza o CSng função para converter valores para Single.

Dim aDouble1, aDouble2 As Double
Dim aSingle1, aSingle2 As Single
aDouble1 = 75.3421105
aDouble2 = 75.3421567
' The following line of code sets aSingle1 to 75.34211.
aSingle1 = CSng(aDouble1)
' The following line of code sets aSingle2 to 75.34216.
aSingle2 = CSng(aDouble2)

CStr Example

O exemplo a seguir utiliza o CStr função para converter um valor numérico para String.

Dim aDouble As Double
Dim aString As String
aDouble = 437.324
' The following line of code sets aString to "437.324".
aString = CStr(aDouble)

O exemplo a seguir utiliza o CStr função para converter Date valores para String valores.

Dim aDate As Date
Dim aString As String
' The following line of code generates a COMPILER ERROR because of invalid format.
' aDate = #February 12, 1969 00:00:00#
' Date literals must be in the format #m/d/yyyy# or they are invalid.
' The following line of code sets the time component of aDate to midnight.
aDate = #2/12/1969#
' The following conversion suppresses the neutral time value of 00:00:00.
' The following line of code sets aString to "2/12/1969".
aString = CStr(aDate)
' The following line of code sets the time component of aDate to one second past midnight.
aDate = #2/12/1969 12:00:01 AM#
' The time component becomes part of the converted value.
' The following line of code sets aString to "2/12/1969 12:00:01 AM".
aString = CStr(aDate)

CStr sempre processa um Datevalor no formato curto padrão para a localidade corrente, por exemplo, "15/6/2003 4:35:47 PM". No entanto, CStr Suprime o valores neutros 1/1/0001 para a data e 00: 00: 00 para o time.

Para obter mais detalhes sobre os valores retornados por CStr, consulte Valores de Retorno para a Função CStr.

CUInt Example

O exemplo a seguir utiliza o CUInt função para converter um valor numérico para UInteger.

Dim aDouble As Double
Dim aUInteger As UInteger
aDouble = 39.501
' The following line of code sets aUInteger to 40.
aUInteger = CUInt(aDouble)

CULng Example

O exemplo a seguir utiliza o CULng função para converter um valor numérico para ULong.

Dim aDouble As Double
Dim aULong As ULong
aDouble = 39.501
' The following line of code sets aULong to 40.
aULong = CULng(aDouble)

CUShort Example

O exemplo a seguir utiliza o CUShort função para converter um valor numérico para UShort.

Dim aDouble As Double
Dim aUShort As UShort
aDouble = 39.501
' The following line of code sets aUShort to 40.
aUShort = CUShort(aDouble)

Consulte também

Referência

Funções de conversão (Visual Basic)

Funções Asc, AscW

Funções Chr, ChrW

Int, funções de correção (Visual Basic)

Função Format

Função Hex (Visual Basic)

Função Oct

Função Str

Função Val

Outros recursos

Conversões de Tipo no Visual Basic