十进制/双精度到整数-四舍五入(不只是最接近)
本文关键字:最接近 四舍五入 双精度 整数 十进制 | 更新日期: 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);