A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨庆雷 中级黑马   /  2014-8-8 15:01  /  876 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨庆雷 于 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。

2 个回复

倒序浏览
应该是除法操作结束后再进行取整操作。也就是先运算5/3=1,然后把1这个数进行了ceil(1)操作,结果进行了自动转型int--double
回复 使用道具 举报
5/3=1  换成 5.0/3
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马