Подтвердить что ты не робот

От пяти до пяти

Мне нужно округлить двойную до пяти. Я не могу найти способ сделать это с помощью функции Math.Round. Как я могу это сделать?

Что я хочу:

70 = 70
73.5 = 75
72 = 70
75.9 = 75
69 = 70

и т.д.

Есть ли простой способ сделать это?

4b9b3361

Ответ 1

Try:

Math.Round(value / 5.0) * 5;

Ответ 2

Это работает:

5* (int)Math.Round(p / 5.0)

Ответ 3

Вот простая программа, которая позволяет вам проверять код. Помните о параметре MidpointRounding, без него вы получите округление до ближайшего четного числа, что в вашем случае означает разницу в пять (в примере 72.5).

    class Program
    {
        public static void RoundToFive()
        {
            Console.WriteLine(R(71));
            Console.WriteLine(R(72.5));  //70 or 75?  depends on midpoint rounding
            Console.WriteLine(R(73.5));
            Console.WriteLine(R(75));
        }

        public static double R(double x)
        {
            return Math.Round(x/5, MidpointRounding.AwayFromZero)*5;
        }

        static void Main(string[] args)
        {
            RoundToFive();
        }
    }