我想传递一个数字并返回下一个整数,
我尝试过Math.Ceiling(3)
,但是返回3。
所需的输出:
double val = 9.1 => 10
double val = 3 => 4
谢谢
答案 0 :(得分:5)
答案 1 :(得分:0)
在任何情况下,仅使用地板或天花板都不会给您下一个整数。 例如:-如果输入负数。更好的方法是创建一个执行此操作的函数。
public class Test{
public int NextWholeNumber(double n)
{
if(n < 0)
return 0;
else
return Convert.ToInt32(Math.Floor(n)+1);
}
// Main method
static public void Main()
{
Test o = new Test();
Console.WriteLine(o.NextWholeNumber(1.254));
}
}
答案 2 :(得分:0)
通常,当您指整数时,它仅是正整数。但是如果还需要负整数,则可以尝试执行此操作,代码将返回3.0 => 4,-1.0 => 0,-1.1 => -1
double doubleValue = double.Parse(Console.ReadLine());
int wholeNumber = 0;
if ((doubleValue - Math.Floor(doubleValue) > 0))
{
wholeNumber = int.Parse(Math.Ceiling(doubleValue).ToString());
}
else
{
wholeNumber = int.Parse((doubleValue + 1).ToString());
}