浮動小数点値を四捨五入しているときに、値にいくつかの不一致が見られました。コードの次の部分を抽出しました。ここで、 variablevar_d
に value> 5.3 が割り当てられている場合、 variablevar_d
の適切な値を取得していますが、5.01 や 5.02 などの値では、それぞれ 500 と 501 を取得しています。
#include<stdio.h>
int main()
{
double var_d=5.02;
long var_l;
var_l = (double)(var_d*100);
printf("var_d : %f var_l= %ld\n ",var_d,var_l);
printf("result : %ld\n",var_l);
return 0;
}