黑马程序员技术交流社区

标题: Math.ceil 取一个double类型 [打印本页]

作者: 杨庆雷    时间: 2014-8-8 15:01
标题: Math.ceil 取一个double类型
本帖最后由 杨庆雷 于 2014-8-8 18:03 编辑
  1. public class Test10 {
  2.         public static void main(String[] args) {
  3.                 System.out.println(Math.ceil(5/3));
  4.                 System.out.println(Math.round((5/3)));
  5.         }
  6. }
复制代码
结果是 1.0 和 1
这是为什么,为什么不是 2.0和2

下面是API文档
ceil(double a)
          返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。
round(double a)
          返回最接近参数的 long。

作者: 依然超级赛亚人    时间: 2014-8-8 15:46
应该是除法操作结束后再进行取整操作。也就是先运算5/3=1,然后把1这个数进行了ceil(1)操作,结果进行了自动转型int--double
作者: icris    时间: 2014-8-8 16:00
5/3=1  换成 5.0/3




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2