Como acabar com seus problemas com o R$: Replace

17 views
Skip to first unread message

Marcos Costa

unread,
Apr 26, 2011, 6:51:47 PM4/26/11
to etecpg 2ª semestre 2010
Fala galera

Tenho ficado meio ausente por um tempo e faz uma cotinha que não venho
aqui.

Bom, vou voltar contribuindo com o método Replace.

Sei que alguns na sala tiveram problemas com o bendito R$ nas textbox.
E também sei que assim como eu, alguns queriam manter o R$ na textbox
e ainda conseguir efetuar os cálculos com aquele conteúdo, sem que o
software dê o famoso P.A.L.

Bom, vou demonstrar aqui como resolvi este problema, ou seja,
explicarei o método Replace().

REPLACE

O Replace é um método que busca em uma String (primeiro parâmetro) uma
segunda String (segundo paramêtro) e a substitui por uma terceira
String (terceiro paramêtro). Se a segunda String não existir dentro da
primeira, ométodo simplesmente não faz nada.

Vamos a um exemplo simples:

Dim lp As String
lp = "VB é uma linguagem de programação excelente. Pois VB é prático e
dinâmico."
lp = Replace(lp,"VB", "Java")

Sala terminou com o valor: "Java é uma linguagem de programação
excelente. Pois Java é prático e dinâmico.

Ou seja, todas as ocorrâncias de "VB" (segundo parâmetro) dentro da
String lp (primeiro parâmetro) foram substituídas por Java (terceiro
parâmetro).

R$ NÃO É MAIS PROBLEMA

Bom, vamos agora nos livrar do problema com o R$.
Como alguns já devem imaginar, a solução é simples. Antes do exemplo,
não esqueça de que é "R$ ", com um espaço após o cifrão. Se o espaço
não for removido da textbox, continua o erro. . Vamos então ao código:

Exemplo passo a passo:
txt_valor = Replace(txt_valor, "R$ ", "")
Dim valor As Double
valor = Double.Parse(txt_valor, "R$ ", "")
txt_valor = FormatCurrency(valor)

No exemplo acima, nós praticamente removemos o R$ da TexTbox e o
recolocamos.É funcional, mas não tão bom quanto o próximo exemplo.
Obs: reparem que a terceira String, a substituta, é aspas duplas
vazias.

Exemplo direto (cuidado com os parenteses:
Dim valor As Double
valor = Doule.Parse(Replace(txt_valor, "R$ ", ""))

Este exemplo é mais prático e o valor da textbox não chega a mudar, já
que a variável pega o retorno do método, que no caso é a textbox sem o
R$, e não o conteúdo da textbox diretamente.

Bom galera, essa foi mais uma contribuição.

Até Handles e Eventos, que já estou devendo a um tempinho. Talves up
ainda hoje, mas não garanto.

Marcos Costa

Thyago

unread,
Apr 26, 2011, 7:24:16 PM4/26/11
to etecpg-2-se...@googlegroups.com
Caracas Marcos essa foi muito boa.
Eu estava precisando dessa dica, obrigado.
Reply all
Reply to author
Forward
0 new messages