Torna al Thread
Public Function Arrotonda(ByVal Valore As Double, ByVal Arrotondamento As Double, Optional ByVal Direzione As ROMode = ROMode.Eccesso) As Double
On Error Resume Next
Dim Temp As Double
Temp = Valore / Arrotondamento
If Int(Temp) = Temp Then
Arrotonda = Valore
Else
Select Case Direzione
Case ROMode.Difetto
Temp = Int(Temp)
Case ROMode.Eccesso
Temp = Int(Temp) + 1
Case ROMode.Matematico
Temp = CDbl(Format(Temp, "0"))
End Select
Arrotonda = Temp * Arrotondamento
End If
End Function
Public Enum ROMode
Eccesso = 0
Difetto = 1
Matematico = 2
End Enum