当前位置:  开发笔记 > 编程语言 > 正文

为什么"ceil()"函数的返回类型是"double"而不是某种整数类型?

如何解决《为什么"ceil()"函数的返回类型是"double"而不是某种整数类型?》经验,为你挑选了1个好方法。

我刚刚实现了一行代码,其中需要对两个数字进行划分,结果需要四舍五入到下一个整数.我开始非常天真:

i_quotient = ceil(a/b);

作为数字a并且b都是整数,这不起作用:除法作为整数除法执行,默认情况下向下舍入,因此我需要强制除法为浮点运算:

i_quotient = ceil((double) a / b);

现在这似乎工作,但它留下一个警告说我正在尝试将一个double分配给一个整数,实际上,在头文件"math.h"之后,ceil()函数的返回类型是"double",现在我失败了:返回双倍的舍入函数是什么意思?任何人都可以告诉我这件事吗?



1> Klas Lindbäc..:

double的范围可以大于任何整数类型.返回double是确保结果类型具有可以处理所有可能输入的范围的唯一方法.

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有