Potrzebuję zaokrąglić wartość do najbliższej wielokrotności 2,5.Zaokrąglasz do przyrostów 2,5?
Na przykład:
6 -> 7,5
7,6 -> 10
itp
Wydaje się, że najlepszym sposobem na to zrobić?
Function RoundToIncrement(ByVal originalNumber As Decimal, ByVal increment As Decimal) As Decimal
Dim num = Math.Round(originalNumber/increment, MidpointRounding.AwayFromZero) * increment
If originalNumber Mod increment <> 0 And num < originalNumber Then
num += increment
End If
Return num
End Function
Wygląda mi się jednak, że kod jest nie do regulacji wartości, które się zaokrągla się w dół przez pierwszą linię. Ale nie znam VB: przypuszczalnie istnieje Math.Ceil lub coś podobnego, które byłoby lepsze od Math.Round? –
Zgoda ... Math.Ceiling może zostać zastąpiony przez Math.Round, aby osiągnąć ten sam efekt. – harpo