No Visual Basic, o arredondamento de números pode ser feito de forma personalizada para atender às necessidades do seu projeto. Abaixo, apresentamos duas funções úteis para arredondar valores com precisão.
Criando uma Função de Arredondamento
A função a seguir permite arredondar um número de acordo com o número de casas decimais desejadas:
Código da Função
Function Arredonda(Valor As Double, Casas As Integer) As Double
Arredonda = Int(Valor * 10 ^ Casas + 0.5) / 10 ^ Casas
End Function
Exemplo de Uso
Dim Resultado As Double
Resultado = Arredonda(45.3246, 3) ' Retorna 45.325
Explicação:
✔ Multiplicamos o valor pelo número de casas desejadas.
✔ Somamos 0.5 para garantir um arredondamento correto.
✔ Utilizamos Int() para remover as casas extras.
✔ Dividimos novamente para restaurar a posição decimal.
Arredondamento para Valores Monetários
Para trabalhar com valores financeiros, é recomendado um arredondamento fixo para duas casas decimais.
Código da Função
Function Arredonda2Casas(Valor As Double) As Double
Arredonda2Casas = Int((Valor * 100 + 0.5)) / 100
End Function
Exemplo de Uso
Dim PrecoFinal As Double
PrecoFinal = Arredonda2Casas(199.996) ' Retorna 200.00
Alternativa: Utilizando a Função Round()
Se estiver usando VB6 ou VBA, o próprio Visual Basic já possui a função Round(), que facilita o arredondamento:
Dim Valor As Double
Valor = Round(12.34567, 2) ' Retorna 12.35
✔ Round() arredonda automaticamente para a quantidade de casas desejadas.
✔ Para cálculos financeiros, prefira a função personalizada Arredonda2Casas() para evitar imprecisões.