Ok giyer555. Try this (If it is not exactly like you intend, then I think you can adjust it easily enough):
[blue]
Code:
Function RoundXtra(ByVal Number As Currency) As Currency
Dim x As Currency
x = Number * 10
x = (x - Int(x)) * 100
If x > 50 Then
RoundXtra = Int((Number + 0.05) * 10) / 10
ElseIf x > 0 And x < 50 Then
RoundXtra = Int(Number * 10) / 10
Else
RoundXtra = Number
End If
End Function
[black]
Golom: My question was to clear up some other factors, and didn't include all criteria (wasn't needed as it was already explained).
The way I understand it now, is that giyer555 wants the last two digits to Round down if less than 50, round up if more than 50, and if 50 or 00 then remain as 50 or 00.
So:
50.000 = 50.000
50.050 = 50.050 *
50.100 = 50.100
50.150 = 50.150 *
50.200 = 50.200
BUT:
50.010 = 50.000
50.049 = 50.000 *
50.051 = 50.100
50.099 = 50.100
* = The normal round function will not work for these.
To do it as you have shown, you would need to round with the Format function anyways (or use another math. eq.), and NOT with the ROUND(), CINT(), CLNG(), etc. functions as have been used above, as these do not round as you may think, which have been discussed heavily many times in this forum, so I will not go into that now, but you can see for yourself:
(Statistical rounding)
?Round(50.15, 1)
?Round(50.25, 1)
?CInt(51.5)
?CInt(52.5)
(Financial rounding)
?Format$(50.15,"0.0"

?Format$(50.25,"0.0"

?Format$(51.5,"0"

?Format$(52.5,"0"