Philipe Cardoso Com 33 anos de idade, sou um carioca apaixonado por tecnologia e fotografia. Além de ser o criador do Portal Zoom Digital, que preserva sua essência desde os tempos em que era um blog, também sou um verdadeiro entusiasta e amante de todas as formas de tecnologia. Através do Portal, compartilho minha paixão pela tecnologia e trago as últimas novidades e tendências para os leitores. Também sou fascinado pelo mundo da fotografia, explorando o poder das imagens para capturar momentos únicos e transmitir histórias cativantes.

[ VB ] Parte VII – Strings e Conversões

4 min read

Salve, pessoal. Estou de volta com mais uma postagem de Visual Basic.NET, a primeira do ZoomDigital.org e a sétima ao todo. As anteriores podem ser conferidas no site Guanabara.info, clicando aqui.

Hoje, vamos ver as funções existentes para manipulação de valores do tipo string, além de funções de conversão entre dados. Mas antes, vamos ver o comportament de algumas declarações importantes.

Lembrando que para o estudo é preciso ter o Microsoft Visual Basic 2008 e o .NET Framework 3.5 instalados corretamente em seus computadores.

Se já tiverem esses componentes instalados, abram o Visual Basic, criem suas Consoles Applications e mão na massa.

Option Strict

A gente já conhece o Option Explicit, que impede que você use uma variável sem declará-la. Para habilitá-la, o comando Option Explicit On pode ser escrito no início do código, antes de qualquer outra declaração. O comando Option Explicit Off desativa a declaração obrigatória, sendo que o default é obrigar a declaração.

Agora, veja o código abaixo, que à primeira vista tem um problema:

Dim ValorReal As Double = 4.56

Dim ValorInteiro As Integer

ValorInteiro = ValorReal

Se você não identificou o “problema” do código acima, clique aqui e leia o post sobre variáveis.

A princípio, a atribuição que foi feita é inválida, mas na verdade ela não é. O que acontece é que o VB automaticamente faz a conversão do tipo Double para o tipo Integer, e o que vai ser armazenado na variável ValorInteiro é o arredondamento de ValorReal.

O VB arredonda para mais quando o valor da primeira casa decimal foi maior ou igual a cinco, e arredonda para menos se for menor ou igual a quatro.

Veja que a parte fracionária é perdida. Mas você pode desabilitar essa conversão.

Isso é feito com a declaração Option Strict. Quando declarada como Option Strict On, ela impede que conversões implícitas que possam resultar em perda de dados sejam feitas, e declarada como Option Strict Off, deixa que você tente essas conversões (se der certo, que bom, senão…)

Option Strict On

Dim ValorReal As Double = 4.56

Dim ValorInteiro As Integer

ValorInteiro = ValorReal

A atribuição passa a ser inválida, porque você vai perder a parte fracionária da variável. Isso também impede atribuições de String para valores numéricos, pois também é um processo que implicaria em perda de informações. Simples, não é ?

O Visual Studio vai te avisar na hora que a atribuição acima causaria um erro. Você escolhe.

Ah, o default é a permissão das atribuições, ou seja, Option Strict por padrão vem como Off.

Manipulando Strings

Existem muitas funções relacionadas à classe System.String:

System.String.Concat(args As Object) As String
Dim Nome = String.Concat(“Guanabara”,”.Info”) ‘Retorna Guanabara.Info

Concatena (junta) os valores passados como parâmetro.

Contains(value As String) As Boolean
If (VariavelString.Contains(“Guanabara”) Then Console.WriteLine(“Contém Guanabara”)

Verifica se a variável possui a string value em seu interior. Retorna True ou False.

Contains(value As String) As Boolean
If (VariavelString.Contains(“Guanabara”) Then Console.WriteLine(“Contém Guanabara”)

Verifica se a variável possui a string value em seu interior. Retorna True ou False.

EndsWith(value As String) As Boolean
If (VariavelString.EndsWith(“#”) Then Console.WriteLine(“Pode ser que seja C#”)

Verifica se a varíavel possui a string value em seu interior, sendo que value deve ser o fim do conteúdo da variável.

StartsWith(value As String) As Boolean
If (VariavelString.StartsWith(“Visual”) Then Console.WriteLine(“Pode ser que seja Visual Basic”)

Verifica se a varíavel possui a string value em seu interior, sendo que value deve ser o início do conteúdo da variável.

Insert(index As Integer, value As String) As String
Dim NovaVariavel As String = VariavelString.Insert(4,”VB”)

Insere no índice especificado da varíavel a string value passada como parâmetro.

System.String.Join(separator As String, value() As String) As String
Dim NovaVariavel = Join(“\”, ArrayValores)

Concatena em uma string os valores de um array de strings value, separando os elementos dos índices com o valor passado em separator.

ToLower/ ToUpper() As String
Dim NovaVariavel = VariavelString.ToLower

Retorna uma string com todos os caracteres da variável transformados em minúsculos (Lower Case) ou todos transformados em maiúsculos (Upper Case).

– Trim() As String
Dim NovaVariavel = VariavelString.Trim

Retorna uma string onde os espaços em branco existentes no início e no fim do conteúdo da variável são removidos. Útil para desconsiderar strings cujo conteúdo seja somente composto por espaços.

SubString(startIndex As Integer, length As Integer)
Dim NovaVariavel = VariavelString.SuBString(2, 3)

Retorna uma string cujo valor será o conteúdo da varíavel, a partir da posição startIndex, contando length caracteres.

Conversões de Tipos

Algumas vezes, vamos necessitar realizar conversões de um tipo de varíavel para outro tipo, explicitamente. Antigamente, no VB existiam funções como CStr para converter para strings, CInt para converter para Integer, e muitos outros. No Visual Basic.NET, pode ser feito usando métodos das próprias classes.

A conversão para o tipo String pode ser feita com o método ToString:

Dim MeuNumero As Double = 5.67

Console.WriteLine( MeuNumero.ToString() )

Quando a conversão desejada é feita para um tipo numérico, podemos usar os métodos Parse e TryParse das classes. O método Parse faz a conversão, e em caso de erro uma exception será disparada (em outras palavras, vai causar um erro). Se você usar a função TryParse, será feita uma tentativa de conversão, e em caso de erro o retorno será False.

<classe>.Parse (s As String) As <classe>
Dim X As Byte = Byte.Parse(“3”)
Dim Y As Long = Long.Parse(“2424”)

ou

<classe>.TryParse (s As String, ByRef result As <classe>) As Boolean
Byte.TryParse(“3”, X)
Long.TryParse(“2424”, Y)

Veja um exemplo de como seria essa conversão:

– Usando o Parse

Dim NumeroReal As Double

Dim NumeroInteiro As Integer = 7

NumeroReal = Double.Parse(NumeroInteiro.ToString())

– Usando o TryParse

Dim NumeroReal As Double

Dim NumeroInteiro As Integer = 7

If Double.TryParse(NumeroInteiro.ToString(), NumeroReal) = False Then

Console.WriteLine(“A conversão resultou em erro”)

End If

Seguindo esse modelo, é possível fazer conversões usando os demais tipos, como SByte, Decimal, Short, e etc.

Por hoje foi isso. No próximo post, o assunto vai ser sobre uma classe que eu já mencionei várias vezes em posts anteriores: Exception. Um grande abraço e até a próxima.

Philipe Cardoso Com 33 anos de idade, sou um carioca apaixonado por tecnologia e fotografia. Além de ser o criador do Portal Zoom Digital, que preserva sua essência desde os tempos em que era um blog, também sou um verdadeiro entusiasta e amante de todas as formas de tecnologia. Através do Portal, compartilho minha paixão pela tecnologia e trago as últimas novidades e tendências para os leitores. Também sou fascinado pelo mundo da fotografia, explorando o poder das imagens para capturar momentos únicos e transmitir histórias cativantes.

4 Replies to “[ VB ] Parte VII – Strings e Conversões”

  1. Otima aula… Marcelo Parabéns e só tenho a agradecer por toda a ajuda que está dando ao Zoom seus posts são otimos..

    Sempre unindo com as video aulas xD

    Abração!

  2. mano,cada dia que passa vc supera mais heim…quem sabe um dia eu fique igual a vc.rsrrssrrs,naum imagina como suas aulas estão me ajudando. é isso ai cara ,continue assim e que Deus o abençoe. abraços de amigo claudemir

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *