永发信息网

float 转为int

答案:5  悬赏:80  手机版
解决时间 2021-06-01 07:24
  • 提问者网友:锁深秋
  • 2021-06-01 02:31

将float类型的转换为int类型!

要求用C语言实现,不要调用库函数gcvt();

感兴趣的一起商讨一下!

最佳答案
  • 五星知识达人网友:长青诗
  • 2021-06-01 03:10

强制转换会导致float类型的精度丢失..


大概写了个程序.能实现float转换成int.


#include <stdio.h>


void main()
{
float a=1.2345f,b;
int c=(int)a;
b=a-c;


while(b>0)
{
a*=10;
c=(int)a;
b=(float)a-c;
}
printf("%d\n",c);
}

全部回答
  • 1楼网友:迷人又混蛋
  • 2021-06-01 04:52

while(b>0) { a*=10; c=(int)a; b=(float)a-c; }

前面写那个程序 在这里我看不懂了 能不能解释一下

  • 2楼网友:鱼芗
  • 2021-06-01 04:36

简单的就是b=(int)a

考虑到精度的问题,就b=(int)(a+0.00001)

如果考虑四舍五入,则b=(int)(a+0.5)

  • 3楼网友:佘樂
  • 2021-06-01 04:15

强制类型转换,如

float a=2.331;

int b;

b=(int)a;

  • 4楼网友:人间朝暮
  • 2021-06-01 03:47
float转为int直接强制类型转换不就可以了吗
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯