C++中double型数据怎么取整数部分,就是小数后面全变成0。

需要注意的是double的整数部分超出了int的表示范围。不要回答doublea;a=(int)a;的答案,我试过不行的。... 需要注意的是double的整数部分超出了int的表示范围。
不要回答double a ; a=(int)a; 的答案,我试过不行的。
展开
 我来答
海里的月光0Bz
2019-08-12 · TA获得超过6027个赞
知道答主
回答量:229
采纳率:0%
帮助的人:3.4万
展开全部

1、首先,定义一个double型变量n,保存取整的数值。

2、用ceil函数对实数5.78取整,取整后的数值保存在变量n中。

3、输出取整后的数值n。

4、运行程序,输出的值为6,这是因为ceil是对实数向上取整。

5、接着,将ceil内的数更改为5.18。

6、运行程序,看到的结果还是6,说明ceil是向上取整。

tattackor
推荐于2017-10-10 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:888万
展开全部
  1. 方法一:使用强制类型转换,强制舍去小数部分。

    例如 double a=3.14; int b= (int)a;

  2. 方法二:使用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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
slionls
推荐于2017-10-07 · TA获得超过266个赞
知道小有建树答主
回答量:322
采纳率:100%
帮助的人:227万
展开全部
floor(x)是向下取整函数,如果是负数的话,这个函数就不对了
double ceil( double x ); 向0取整,应该用这个
头文件#include <math.h>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wssznh1999
2012-08-18 · TA获得超过428个赞
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:366万
展开全部
void main()
{
double a = 345.3853;
double b = 0;
b = (double)(int)a;
printf("\n%lf",b);
}
追问
叫你别答这个了,真心没用。超出了int表示的范围是不行的。不要很大就32768就不行。
追答
b=(double)(long int)a;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
l灬顺
2012-08-18
知道答主
回答量:8
采纳率:0%
帮助的人:1.3万
展开全部
floor(x)专门的取整函数
追问
能问一个,这个函数是在哪个头文件里吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式