C语言中我的代码一个float型的二位小数*100后转化为int型会-1 比如0.01*100后是0;
答案:1 悬赏:0
解决时间 2021-01-11 13:58
- 提问者网友:轮囘Li巡影
- 2021-01-11 09:15
C语言中我的代码一个float型的二位小数*100后转化为int型会-1 比如0.01*100后是0;
最佳答案
- 二级知识专家网友:独钓一江月
- 2021-01-11 09:55
你可以先打印print(“%f”, n);看看
其实它不是0.1、0.2、0.3。。。
而是0.09999999, 0.199999........追问我试了下 输出就是0.100000 是不是编译器的问题啊,我用的是vc++6.0追答我看了下,我的正常
dengwo:~/ $ cat z.c [18:59:13]
#include
int main(void)
{
float n;
while(scanf("%f",&n)){
n=n*100;
printf("%d
",(int)n);//int(n)报错 --更改了
}
return 0;
}
dengwo:~/ $ cc z.c [18:59:15]
dengwo:~/ $ ./a.out
0.1
10
0.01
1
0.001
0
0.19
19
^C
其实它不是0.1、0.2、0.3。。。
而是0.09999999, 0.199999........追问我试了下 输出就是0.100000 是不是编译器的问题啊,我用的是vc++6.0追答我看了下,我的正常
dengwo:~/ $ cat z.c [18:59:13]
#include
int main(void)
{
float n;
while(scanf("%f",&n)){
n=n*100;
printf("%d
",(int)n);//int(n)报错 --更改了
}
return 0;
}
dengwo:~/ $ cc z.c [18:59:15]
dengwo:~/ $ ./a.out
0.1
10
0.01
1
0.001
0
0.19
19
^C
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息