我已经对C#舍入进行了搜索,但未能找到当前问题的答案。
我想要做的是总是向下舍入到最接近的50.我要舍入的所有值都是十进制的。
所以635.25将是600。
298.42将是250。
149.56将是100。
我看过math.round但是我怎么用它,所以它总是向下舍入到最接近的50并且从不上升?
答案 0 :(得分:31)
将值除以50,向下舍入到最接近的整数,再次乘以50:
double n = Math.Floor(n / 50.0) * 50.0;
答案 1 :(得分:5)
Guffa的另一种方式:
(((int) value) / 50) * 50
答案 2 :(得分:0)
使用模数:
var roundedDownToClosestFifty = value - (value % 50);