Conversões entre cadeias de caracteres e outros tipos (Visual Basic)
Você pode converter um valor numérico Boolean
ou 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 Boolean
ou 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 .
). Format
usa 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.