比較計算のために小数点以下 3 桁まで正確な浮動変数を取得しようとしています。以下の方法を試していますが、うまくいきません。理由がわからないので、どこが間違っているのか誰か教えてください。
このコードからの出力はb = 10000.050617, bb = 10000050 and fbb = 10000.000
. fbb を 10000.050 にしたい。
int bb; double m,n,p,q,b,t,u,fbb;
m=24.161, n=57.695, p=67.092, q=148.011;
t=p-m; u=q-n;
b=t*t+u*u; bb=b*1000; fbb=bb/1000;
printf("b=%.6lf,bb=%i,fbb=%.3lf\n",b,bb,fbb);
return 0;