Как бы вы округлить до десятичное или поплавок на целое число. Например ...Десятичный/от двойного до целого - округленный (не только до ближайшего)
0.0 => 0
0.1 => 1
1.1 => 2
1.7 => 2
2.1 => 3
Etc.
Как бы вы округлить до десятичное или поплавок на целое число. Например ...Десятичный/от двойного до целого - округленный (не только до ближайшего)
0.0 => 0
0.1 => 1
1.1 => 2
1.7 => 2
2.1 => 3
Etc.
Простой, используйте Math.Ceiling
:
var wholeNumber = (int)Math.Ceiling(fractionalNumber);
Что-то вроде этого?
int myInt = (int)Math.Ceiling(myDecimal);
Зачем конвертировать в строку только для синтаксического анализа? Просто брось. –
Это, конечно, лучше. Отредактировал свой ответ сейчас. –
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--;
var d = 1.5m;
var i = (int)Math.Ceiling(d);
Console.Write(i);
Это просто * раунды * число, это не обязательно вокруг него ** вверх **. – radoh
Прежде чем сказать, что не работает, вы должны проверить, что все значения в операции имеют двойной тип. Вот пример в C#:
int speed= Convert.ToInt32(Math.Ceiling((double)distance/ (double)time));
Какое поведение вы хотите для отрицательных чисел? делает -1.1 перейти к -1 (перейти к большему) или -2 (перейти дальше от нуля)? –