返回下一个整数

时间:2018-10-24 16:25:44

标签: c# .net

我想传递一个数字并返回下一个整数,

我尝试过Math.Ceiling(3),但是返回3。

所需的输出:

double val = 9.1 => 10
double val = 3 => 4

谢谢

3 个答案:

答案 0 :(得分:5)

我建议采用两种方法:

使用return Math.Floor(input + 1);

return (int)input + 1;

使用铸造(以降低精度)

{{1}}

提琴here

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