Подтвердить что ты не робот

Десятичное/двойное целое - округление (не только до ближайшего)

Как бы вы округлили десятичное или float до целого числа. Например...

0.0 => 0
0.1 => 1
1.1 => 2
1.7 => 2
2.1 => 3

Etc.

4b9b3361

Ответ 1

Простой, используйте Math.Ceiling:

var wholeNumber = (int)Math.Ceiling(fractionalNumber);

Ответ 2

Что-то вроде этого?

int myInt = (int)Math.Ceiling(myDecimal);

Ответ 3

Math.Ceiling не работает для меня, я использую этот код и эту работу:)

int MyRoundedNumber= (int) MyDecimalNumber;
                if (Convert.ToInt32(MyDecimalNumber.ToString().Split('.')[1]) != 0)
                    MyRoundedNumber++;

и если вы хотите округлить отрицательное число до нуля, например, от -1,1 до -2, используйте этот

  int MyRoundedNumber= (int) MyDecimalNumber;
                    if (Convert.ToInt32(MyDecimalNumber.ToString().Split('.')[1]) != 0)
                        if(MyRoundedNumber>=0)
                           MyRoundedNumber++;
                        else
                           MyRoundedNumber--;

Ответ 4

Прежде чем говорить, что это не работает, вы должны проверить, что ВСЕ ЗНАЧЕНИЯ в операции являются двойными. Вот пример в С#:

 int speed= Convert.ToInt32(Math.Ceiling((double)distance/ (double)time));

Ответ 5

var d = 1.5m;
var i = (int)Math.Ceiling(d);
Console.Write(i);