C#如何总是向下舍入到最接近的50

sai*_*nuk 14 c# math function decimal rounding

我已经对C#舍入进行了搜索,但是还没有找到我当前问题的答案.

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

所以635.25将是600.

298.42将是250.

149.56将是100.

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

Guf*_*ffa 33

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

double n = Math.Floor(n / 50.0) * 50.0;
Run Code Online (Sandbox Code Playgroud)


lep*_*pie 5

Guffa的另一种方式:

(((int) value) / 50) * 50
Run Code Online (Sandbox Code Playgroud)