C++中double型数据怎么取整数部分,就是小数后面全变成0。
需要注意的是double的整数部分超出了int的表示范围。不要回答doublea;a=(int)a;的答案,我试过不行的。...
需要注意的是double的整数部分超出了int的表示范围。
不要回答double a ; a=(int)a; 的答案,我试过不行的。 展开
不要回答double a ; a=(int)a; 的答案,我试过不行的。 展开
5个回答
展开全部
方法一:使用强制类型转换,强制舍去小数部分。
例如 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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
floor(x)是向下取整函数,如果是负数的话,这个函数就不对了
double ceil( double x ); 向0取整,应该用这个
头文件#include <math.h>
double ceil( double x ); 向0取整,应该用这个
头文件#include <math.h>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void main()
{
double a = 345.3853;
double b = 0;
b = (double)(int)a;
printf("\n%lf",b);
}
{
double a = 345.3853;
double b = 0;
b = (double)(int)a;
printf("\n%lf",b);
}
追问
叫你别答这个了,真心没用。超出了int表示的范围是不行的。不要很大就32768就不行。
追答
b=(double)(long int)a;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
floor(x)专门的取整函数
追问
能问一个,这个函数是在哪个头文件里吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询