c++如何自己定义函数实现向下取整功能,即FLOOR

2025-02-25 11:35:16
推荐回答(5个)
回答1:

这个非常简单,利用类型转换就得到了
一个double型的数转换成int类型的数会损失精度,损失的是小数部分。比如int a = 2.1,事实上a的值就是2
int b = 1.9999,b的值也是1。
所以这样写:

int floor(double number)
{

return int(number); //将number转换为int类型并返回

}

回答2:

int floor(double value)
{
    int temp = value;
    return temp;
}

可以利用强制类型转换double 等-> int 时自动省去小数部分的特性来实现。

回答3:

要注意 参数是负数时是有写不同的. 而不是简单的取整就ok了
float floor1(float a)
{
int r=a;
if (a<0) --r;
return (float) r;
}

回答4:

#include
int floor(double number)
{
int n;
n=static_cast(number);
return n;
}
int main()
{double number;
int n;
printf("please input a number=");
scanf("%lf",&number);
n=floor(number);
printf("the result =%d\n",n);
return 0;

}

回答5:

int floor(double n)
{
return (int)n;
}