Ответ 1
Разделите значение на 50, округлите до ближайшего целого числа и снова умножьте на 50:
double n = Math.Floor(n / 50.0) * 50.0;
Я сделал поиск в С# округлении, но не смог найти ответ на мою текущую проблему.
То, что я хочу сделать, всегда округляется до ближайшего 50. Все значения, которые я хочу округлить, будут в десятичной форме.
Итак, 635.25 будет 600.
298.42 будет 250.
149.56 - 100.
Я посмотрел на math.round, но как я буду использовать его, чтобы он всегда округлялся до ближайших 50 и никогда не поднимался?
Разделите значение на 50, округлите до ближайшего целого числа и снова умножьте на 50:
double n = Math.Floor(n / 50.0) * 50.0;
Еще один способ для Гуффа:
(((int) value) / 50) * 50
Использование модуля:
var roundedDownToClosestFifty = value - (value % 50);