我需要将数字舍入为0小数(对于一个pagging系统)。
我已经尝试过这样的事情:
Math.Round(double1, 0, MidpointRounding.AwayFromZero);
如果double1是7,2或7,6我需要它来回合8但是我没有得到它。
有人可以帮助我吗?
由于
答案 0 :(得分:9)
使用Math.Ceiling
始终向上舍入到下一个整数:
double roundUp = Math.Ceiling(double1);
答案 1 :(得分:1)
如果您出于某种原因不想使用Math.Ceiling
,则可以执行以下操作:
public int Ceil(double x) {
return (int) x + ((int) x < x ? 1 : 0);
}
答案 2 :(得分:0)
在您的情况下..使用p = 1 ..
float RoundTo(float x, float p)
{
float y = 1/p;
return int((x+(1/(y+y)))*y)/y;
}
float RoundUp(float x, float p)
{
float y = 1/p;
return int((x+(1/y))*y)/y;
}
float RoundDown(float x, float p)
{
float y = 1/p;
return int(x*y)/y;
}