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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Essa eu tinha que postar...
dummies
CERQUILHO
SP - BRASIL
ENUNCIADA !
Postada em 02/05/2013 19:38 hs         
Tenho duas variaveis do tipo Double.
dSomaItens
dTotalDuplicatas

Onde:
dSomaItens = 12557,36
dTotalDuplicatas = 12557,36

Faço um IF para comparar o valor dessas duas variáveis, e caso não seja igual, então informo o usuário..
Assim:

             If (CDbl(dSomaItens) - CDbl(dTotalDuplicatas)) <> 0 Then
                 MsgBox "O Valor total dos produtos não confere com o valor total das duplicatas"
                 Exit Sub
             End If

Ocorre que conforme o calculo acima ele sempre atende a condição, ou seja, o valor nunca é igual a zero.
Nesse caso quando faço isso no imediate para conferir o que ele calcula, então o sistema retona o seguinte valor:

-1,81898940354586E-12

No imediate faço assim:
?cdbl(dSomaItens) - cdbl(dTotalDuplicatas)

Essa eu realmente não sei o que fazer, pois os valores são iguais...
Se alguém puder me dar uma força, eu agradeço.

TÓPICO EDITADO
 
dummies
CERQUILHO
SP - BRASIL
Postada em 02/05/2013 19:44 hs         
Eu acabei de encontrar uma solução, mas mesmo assim caso alguém possa me explicar o que houve, eu agradeço.
Inclui um formatnumber.
Fim assim:

formatnumber(dSomaItens,3) - formatnumber(dTotalDuplicatas,3)

Dessa forma deu certo.

     
Euzebio
não registrado
Postada em 04/05/2013 14:07 hs   
Colega...

Tive um caso parecido em que eu diminuia um valor do outro (não lembro mais os valores) mas lembro que a diferença era de 0,741 e dava 2,xxxx (o xxxxx também não lembro).

Na ocasião precisei converter de double para string, reconverter para currency para fazer dar certo.

Não sei se é bug no VB ou algo dos processadores (no meu caso Intel Celeron, na época).

Caso sério. Até mostrei no immediate para o cliente ver porque estava dando erro, que ei tinha feito a lógica correta, mas o VB e/ou Processador não ajudavam.

Tudo de bom.
     
dummies
CERQUILHO
SP - BRASIL
Postada em 05/05/2013 10:22 hs         
Não pensei na possibilidade de ser o processador, pois o mesmo erro ocorreu em máquinas diferentes...
Acredito que seja bug do VB, mas como comentei, ao formatar a variável consegui resolver o problema.


     
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