C# как всегда округлять до ближайших 50

Я сделал поиск по округлению C#, но не смог найти ответ на мою текущую проблему.

то, что я хочу сделать, всегда округляется до ближайших 50. Все значения, которые я хочу округлить, будут десятичными.

таким образом, 635.25 будет 600.

298.42 будет 250.

149.56 будет 100.

Я посмотрел на математика.круглый, но как я буду использовать это, чтобы он всегда округлялся до ближайших 50 и никогда не поднимался?

3 ответов


разделить значение на 50, округлить до ближайшего целого числа и умножить на 50 раз:

double n = Math.Floor(n / 50.0) * 50.0;

другой способ Guffa это:

(((int) value) / 50) * 50

используя модуль:

var roundedDownToClosestFifty = value - (value % 50);