C# - 将数字舍入为0小数

时间:2010-10-11 15:47:00

标签: c# rounding

我需要将数字舍入为0小数(对于一个pagging系统)。

我已经尝试过这样的事情:

Math.Round(double1, 0, MidpointRounding.AwayFromZero);

如果double1是7,2或7,6我需要它来回合8但是我没有得到它。

有人可以帮助我吗?

由于

3 个答案:

答案 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;
}