发布网友 发布时间:2022-04-23 08:09
共3个回答
热心网友 时间:2022-06-18 04:08
如果你是单纯为了把这个数打印出来,那么用%2f就可以了。
但是如果你要在程序中做运算的时候希望能够不四舍五入地保留小数,
那下面的方法可以做到。
#include
<math.h>
main()
{
int
k
=
3;
double
number
=
655.12345;
number
=
(int)(number)
+
((int)((number-(int)(number))*pow(10.0,k)))/pow(10.0,k);
printf("%f\n",number);
getch();
}
热心网友 时间:2022-06-18 04:08
float
a=2.556;
printf("%.2f\n",a);
%.2f的意思就是保留两位小数
另外,%6.2表示,整个数的宽度(包括小数点)为6位,小数部分(不包括小数点)占两位。若整个数的宽度不足六位,则左边补空格;超过六位则忽略6。
%-6.2f与上面的含义基本相同,只是当整个数的宽度不足六位时是右边补空格
热心网友 时间:2022-06-18 04:09
%.2f
就可以解决了,另外c语言不是四舍五入而是直接截断,所以说不管你是2.558还是2.553
得到的都是2.55
代码:
#include<stdio.h>
void
main()
{
double
a=2.556;
printf("a=%.2f\n",a);
}