В C # округление числа легко:
Math.Round(1.23456, 4); // returns 1.2346
Однако я хочу округлить число так, чтобы дробная часть числа округлялась до ближайшей дробной части предопределенной дроби (например, 1/8), и я пытаюсь выяснить, есть ли в библиотеке .NET уже это встроенный.
Так, например, если я хочу округлить десятичное число до целой восьмой, то я бы хотел вызвать что-то вроде:
Math.RoundFractional(1.9, 8); // and have this yield 1.875
Math.RoundFractional(1.95, 8); // and have this yield 2.0
Итак, первый параметр - это число, которое я хочу округлить, а второй параметр определяет долю округления. Таким образом, в этом примере после округления цифры после десятичной запятой могут быть только одним из восьми значений: .000, .125, .250, .375, .500, .625, .750, .875
Вопросы: встроена ли эта функция в .NET где-нибудь? Если нет, есть ли у кого-нибудь ссылка на ресурс, объясняющий, как подойти к решению этой проблемы?