C#如何始终向下舍入到最接近的50

我已经对C#舍入进行了搜索,但未能找到我当前问题的答案。

我想要做的是总是向下舍入到最接近的50.我要舍入的所有值都是十进制的。

所以635.25将是600。

298.42将是250。

149.56将是100。

我看过math.round但是我怎么用它,所以它总是向下舍入到最接近的50并且从不向上?

将值除以50,向下舍入到最接近的整数,再乘以50:

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

Guffa的另一种方式:

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

使用模数:

 var roundedDownToClosestFifty = value - (value % 50);