USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Função que mostra somente números de um campo.
Cid
SÃO PAULO
SP - BRASIL
Postada em 17/04/2007 14:16 hs            
Bom dia Pessoal!
 
Peguei a função abaixo aqui no fórum:
 
Function LeNumero(Numero As String) As String
    Dim Tamanho As Integer, RESULTADO As String, A As Integer
   
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Função que pega apenas os valores numericos da string
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    If Numero = "" Then
        LeNumero = ""
        Exit Function
    End If
   
    Tamanho = Len(Trim(Numero))
   
    For A = 1 To Tamanho
        If Asc(Mid(Numero, A, 1)) >= 48 And Asc(Mid(Numero, A, 1)) <= 57 Then
            RESULTADO = RESULTADO + Mid(Numero, A, 1)
        End If
    Next
    LeNumero = RESULTADO
End Function
 
Ela funciona, só que elimina os zeros à direita dos números. Assim, se tenho R$ 23,35 ela mostra 2335. Ótimo. Mas, se tenho R$ 23,50 ela mostra 235. Preciso que mostre 2350.
 
Se alguém puder me ajudar, ficarei muito grato.
 
Abraço.
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 17/04/2007 15:29 hs            
o problema não é na função e sim como vc está passando os valores para ela.
Se vc passar assim:
 
MsgBox LeNumero(CCur("23,50"))
 
Vai retornar 235
 
Se vc passar assim:
 
MsgBox LeNumero("23,50")
 
vai retornar 2350
 
Para evitar isso use o format:
 
variavel = CCur("23,50") 'conterá 23,5
 
MsgBox LeNumero(Format(variavel, "###,###.#0")) 'conterá 23,50
 
blz??
 
falows!
     
Marcelo Amaral
SANTO ANDRÉ
SP - BRASIL
Postada em 19/04/2007 00:27 hs            
Cid
me parece que vc quer com sua função pegar um numero ex. 23,50 e muda-lo para 2350 certo
Se for isso porque vc em vez de fazer uma função enorme desta, não usa a matematica para resolver isso, com apenas uma linha ficaria assim
 
suavariavel *100
resultado
 
se tiver 23,00 vai ficar 2300
se tiver 23,50 vai ficar 2350
se tiver 23,51 vai ficar 2351
 
as vezes a gente faz um função enorme e com uma simples função aritimetica resolvemos o assunto.
 
espero ter ajudado
 
Marcelo Amaral
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página