Ir para conteúdo

Arquivado

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

RodolphoChagas

Erro na função ROUND()

Recommended Posts

Bom dia,

encontrei um problema na função ROUND() no VB6 e não sei como resolver, a função não arredonda números como por ex. 13.705, 11.605.

Logo o resultado fica 13.70 e 11.60 ao invés de 13.71 e 11.61, e por causa disso a uma diferença sempre de 1 centavo quando comparo valores com o banco de dados(SQL SERVER), pois a função ROUND() do banco arredonda corretamente para 13.71 e 11.61.

Ex:

NO VB6

ROUND(13.705, 2) = 13.70

ROUND(16.455, 2) = 14.46

 

NO SQL SERVER

ROUND(13.705, 2) = 13.71

ROUND(16.455, 2) = 14.46

Alguem poderia me ajudar na solução deste problema ? Para que a função arredonde corretamente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use esta fórmula!

onde, VALOR é o número que vc deseja (ex: 13.705)

e PRECI é o número de casas decimais de precisão.

 

Int(Valor * 10 ^ Preci + 1 / 2) / 10 ^ Preci

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.