#include<stdio.h>
int main()
{
double fract=0;
int tmp;
//scanf("%lf",&fract);
fract=0.312;
printf("%lf",fract);
printf("\n\n");
while(fract>0){
fract*=(double)10;
printf("%d ",(int)fract);
fract-=(int)fract;
}
getch();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这段代码的输出为:312
但是somehing不对..我正在使用devcpp 4.9.9.2编译器......
所以你乘以1000乘以0.3119999999999999999895916591441391574335284531116485595703125并截断它得到311?我不知道问题出在哪里.