C # - округлить числа до 0 десятичных знаков - PullRequest
2 голосов
/ 11 октября 2010

Мне нужно округлить числа до 0 десятичных знаков (для системы разбиения на страницы).

Я уже пробовал что-то подобное:

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

Если double1 будет 7,2 или7,6 Мне нужно округлить до 8, но я не получаю это.

Может кто-нибудь помочь мне, пожалуйста?

Спасибо

Ответы [ 3 ]

9 голосов
/ 11 октября 2010

Используйте Math.Ceiling, чтобы всегда округлять до следующего целого числа:

double roundUp = Math.Ceiling(double1); 
1 голос
/ 11 октября 2010

Если по какой-то причине вы не хотите использовать Math.Ceiling, вы можете сделать:

 public int Ceil(double x) {
  return (int) x + ((int) x < x ? 1 : 0);
 }
0 голосов
/ 05 августа 2016

В вашем случае .. Используйте 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;
}
...