中易网

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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息