计算得出5.2+3.1=8.29999,浮点数加法不准确如何解决?
int main()
{
float a,b,c;
a = 5.2;
b = 3.1;
c = a+b ;
printf("%f", c);
return 0;
}
计算的时候因为进制转换丢失了一定的精度,所以显示8.29999,想了解是否是加上某段代码就能变成跟平时用的计算器一样能算精准数?
计算得出5.2+3.1=8.29999,浮点数加法不准确如何解决?
int main()
{
float a,b,c;
a = 5.2;
b = 3.1;
c = a+b ;
printf("%f", c);
return 0;
}
计算的时候因为进制转换丢失了一定的精度,所以显示8.29999,想了解是否是加上某段代码就能变成跟平时用的计算器一样能算精准数?
看你需要保留几位小数了。浮点数的精度有限的很。
比如你就想输入出8.3,那么改为printf("%.1f",c);它会四舍五入