Compartilhar via


Conversões entre cadeias de caracteres e outros tipos (Visual Basic)

Você pode converter um valor numérico Booleanou de data/hora em um String. Você também pode converter na direção inversa – de um valor de cadeia de caracteres para numérico Booleanou Date – desde que o conteúdo da cadeia de caracteres possa ser interpretado como um valor válido do tipo de dados de destino. Se não puderem, ocorrerá um erro em tempo de execução.

As conversões para todas essas atribuições, em qualquer direção, estão restringindo as conversões. Você deve usar as palavras-chave de conversão de tipo (CBool, CByte, CDate, CDbl, CDec, CInt, CLng, CSByte, CShort, CSng, CStr, CUInt, CULng, CUShort e CType). As Format funções e as Val funções oferecem controle adicional sobre conversões entre cadeias de caracteres e números.

Se você tiver definido uma classe ou estrutura, poderá definir operadores de conversão de tipo entre String e o tipo de sua classe ou estrutura. Para obter mais informações, confira Como definir um operador de conversão.

Conversão de números em cadeias de caracteres

Você pode usar a Format função para converter um número em uma cadeia de caracteres formatada, que pode incluir não apenas os dígitos apropriados, mas também formatar símbolos como um sinal de moeda (como $), milhares de separadores ou símbolos de agrupamento de dígitos (como ,) e um separador decimal (como .). Formatusa automaticamente os símbolos apropriados de acordo com as configurações de Opções Regionais especificadas no Painel de Controle do Windows.

Observe que o operador de concatenação (&) pode converter um número em uma cadeia de caracteres implicitamente, como mostra o exemplo a seguir.

' The following statement converts count to a String value.  
Str = "The total count is " & count  

Conversão de cadeias de caracteres em números

Você pode usar a Val função para converter explicitamente os dígitos em uma cadeia de caracteres em um número. Val lê a cadeia de caracteres até encontrar um caractere diferente de um dígito, espaço, guia, feed de linha ou ponto. As sequências "&O" e "&H" alteram a base do sistema de números e encerram a verificação. Até que ele pare de ler, Val converte todos os caracteres apropriados em um valor numérico. Por exemplo, a instrução a seguir retorna o valor 141.825.

Val(" 14 1.825 miles")

Quando o Visual Basic converte uma cadeia de caracteres em um valor numérico, ele usa as configurações de Opções Regionais especificadas no Windows Painel de Controle para interpretar o separador de milhares, o separador decimal e o símbolo de moeda. Isso significa que uma conversão pode ter êxito em uma configuração, mas não em outra. Por exemplo, "$14.20" é aceitável na localidade em inglês (Estados Unidos), mas não em nenhuma localidade francesa.

Confira também