float a=2.556;printf("%.2f\n",a);%.2f的意思就是保留两位小数另外,%6.2表示,整个数的宽度(包括小数点)为6位,小数部分(不包括小数点)占两位.若整个数的宽度不足六位,则左边补空格;超过六位则忽略6.%-6.2f与上面的含义基本相同,只是当整个数的宽度不足六位时是右边补空格 解析看不懂?免费查看同类题...
如果你是单纯为了把这个数打印出来,那么用%2f就可以了。但是如果你要在程序中做运算的时候希望能够不四舍五入地保留小数,那下面的方法可以做到。include <math.h> main(){ int k = 3;double number = 655.12345;number = (int)(number) + ((int)((number-(int)(number))*pow(10.0,k)...
int main(){ double a;int b=(int)a;printf("%d",b);} 运用强制装换运算符(type)a;type里面是需要转换成的那个类型。。
类型转换就可以了呀。
如何保留两位小数 也..#include<stdio.h>int main(){double x,y;int c,d;scanf("%lf",&x);c=(int)(x);y=x-c;d=(int)(y*
最简单的办法,显示的时候减掉 0.00005 再输出,a = 1.23456; printf( "%.4lf", a - 0.00005 );
float a=2.556;printf("%.2f\n",a);%.2f的意思就是保留两位小数另外,%6.2表示,整个数的宽度(包括小数点)为6位,小数部分(不包括小数点)占两位。若整个数的宽度不足六位,则左边补空格;超过六位则忽略6。%-6.2f与上面的含义基本相同,只是当整个数的宽度不足六位时是右边补空格 ...
因为计算机里的存储是用二进制的,这样就跟10进制无法精确表示1/3一样,二进制也存在这种情况,以至于在浮点的时候可能会出现明明赋给了一个整数,但是变成了.000001,或者.99999。于是浮点记数一定会出现一些不精确,这是没有办法的。解决方法建议可以用自定义的数据结构存值,比如字符串,然后根据实际...
你输入'65'错误是因为,''里面表示的是单个字符,而这里有两个字符的。要想这样写,必须写成'\65'.第四位四舍五入 number=(number*1000+0.5)/1000;保留三位有效数字:printf("四舍五入后为:%.3f\n",number);