C语言 如何实现保留三位小数,第四位四舍五入的程序,详细解释一下程序,网上的看不懂

单个字符错误的形式:✀65✀ 为什么错误
2024-10-31 09:27:39
有4个网友回答
网友(1):

你输入'65'错误是因为,''里面表示的是单个字符,而这里有两个字符的。
要想这样写,必须写成'\65'.
第四位四舍五入
number=(number*1000+0.5)/1000;
保留三位有效数字:
printf("四舍五入后为:%.3f\n",number);

网友(2):

#include
int main()
{
float number=0.0;
printf(" 输入一个含万分位的小数:");
scanf("%f",&number);
number=(number*1000+0.5)/1000;
printf("四舍五入后为:%.3f\n",number);
return 0;
}
单个字符错误的形式:'65' 65里面有两个字符了 6和5.

网友(3):

乘1000
加0.5取整
再除1000

网友(4):

大部分小数不能精确存储,这个你应该知道
所以讨论四舍五入不太现实,即使乘以1000加上0.5再除以1000,要是多打印几个小数,那么也会出现一个近似的值


float a=7.9;
printf("%.6f",a);
得到的结果可能是7.899999

所以准确的做法是变成字符串,这样最精确,呵呵