C言語なら俺に聞け! Part 89
■ このスレッドは過去ログ倉庫に格納されています
0269デフォルトの名無しさん
NGNGd += 0.5;
だと途中で整数になるのに、
d += 0.1;
だと動作がおかしいんです。
#include <stdio.h>
void isInteger(double d)
{
if(d == (int)d){
printf("I: %20.15f\n", d);
}else{
printf("D: %20.15f\n", d);
}
}
int main(int ac, char **av)
{
int i;
double d = 0.0;
for(i = 0; i < 50; i++){
d += 0.1;
isInteger(d);
}
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています