需要注意的是double的整数部分超出了int的表示范围。
不要回答double a ; a=(int)a; 的答案,我试过不行的。
1、首先,定义一个double型变量n,保存取整的数值。
2、用ceil函数对实数5.78取整,取整后的数值保存在变量n中。
3、输出取整后的数值n。
4、运行程序,输出的值为6,这是因为ceil是对实数向上取整。
5、接着,将ceil内的数更改为5.18。
6、运行程序,看到的结果还是6,说明ceil是向上取整。
方法一:使用强制类型转换,强制舍去小数部分。
例如 double a=3.14; int b= (int)a;
方法二:使用math.h的标准函数。
double floor(double x);
double ceil(double x);
使用floor函数。floor(x)返回的是小于或等于x的最大整数。
如: floor(10.5) == 10 floor(-10.5) == -11
使用ceil函数。ceil(x)返回的是大于x的最小整数。
如: ceil(10.5) == 11 ceil(-10.5) ==-10
叫你别答这个了,真心没用。超出了int表示的范围是不行的。不要很大就32768就不行。
追答b=(double)(long int)a;
本回答被网友采纳能问一个,这个函数是在哪个头文件里吗?