十进制/双精度到整数-四舍五入(不只是最接近)

本文关键字:最接近 四舍五入 双精度 整数 十进制 | 更新日期: 2023-09-27 18:19:04

如何将小数或浮点数四舍五入为整数?例如…

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

等。

十进制/双精度到整数-四舍五入(不只是最接近)

简单,使用Math.Ceiling:

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

像这样?

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

在说它不起作用之前,您必须检查操作中的所有值是否为双精度类型。下面是c#中的一个例子:

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

数学。天花板不适合我,我使用这个代码和这个工作:)

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);