|
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.
|
|
|
|
|
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!
|
|
|
|
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
|
|
|
|