gpt4 book ai didi

c# - 没有内置方法的舍入

转载 作者:太空狗 更新时间:2023-10-30 00:19:17 25 4
gpt4 key购买 nike

我想在不使用任何内置方法的情况下将 float 变量四舍五入为 int。这会像

13.4 => 13
13.49 => 13
13.5 => 14
13.6 => 14

到目前为止,这是我能达到的最接近但不确定这是否有效。

int Roundoff(float num)
{
int temp = (int) num;

num *= 10;
if(num%10 >= 5)
{
return temp + 1;
}
else
{
return temp;
}

}

最佳答案

你可以试试这个:

int Roundoff(float num) {
return num < 0 ? (int) (num - 0.5) : (int) (num + 0.5);
}

负值有一个技巧(您不能只添加0.5):

  -13.9 -> -14.0
-13.1 -> -13

而且要小心,因为

  int.MaxValue < float.MaxValue
int.MinValue > float.MinValue

关于c# - 没有内置方法的舍入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22631329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com