Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Erico Monteiro

Minhas variaveis dooble só retorna valores inteiros

Recommended Posts

Tenho o seguinte código:

 

Private Sub media()
Dim cont As Double
'Conteudo
Dim Cmedia As Double
Dim Csoma As Double
'Metologia
Dim Mmedia As Double
Dim Msoma As Double
'Postura
Dim Pmedia As Double
Dim Psoma As Double


Csoma = 0
Msoma = 0
Psoma = 0
'Contador de registros
cont = 0

dta_temporario.Recordset.MoveFirst

While dta_temporario.Recordset.EOF = False
cont = cont + 1
Csoma = Csoma + dta_temporario.Recordset.Fields("Conteudo").Value
Msoma = Msoma + dta_temporario.Recordset.Fields("Metodologia").Value
Psoma = Psoma + dta_temporario.Recordset.Fields("Postura").Value
dta_temporario.Recordset.MoveNext
Wend



Cmedia = Csoma / cont
Mmedia = Msoma / cont
Pmedia = Psoma / cont

Lbl_Conteudo.Caption = Cmedia
Lbl_Metodologia.Caption = Mmedia
Lbl_Postura.Caption = Pmedia

O problema é o seguinte:

considere Csoma = 26 e cont = 7 sendo todas variáveis do tipo double

 

Cmedia = Csoma \ cont => Cmedia = 26 \7 => Cmedia = 3,7142857142857142857142857142857

 

porém o que acontece é que Cmedia recebe somente 3

 

=[

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente converter os valores para double antes de dividir

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, seja bem vindo ao fórum.

Sugiro que leia nossas regras para se familiarizar com as mesmas.

 

Sua variáveis estão declaradas como Double, não era para isso estar ocorrendo. Tentei reproduzir aqui e o resultado ficou correto.

 

Tente fazer isso:

 

Cmedia = CDbl(Csoma / cont)
Mmedia = CDbl(Msoma / cont)
Pmedia = CDbl(Psoma / cont)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.