Java 8 Math.ceil()方法文档描述是否存在表述疑问?
关于Math.ceil(double a)文档描述的疑问解答
先明确Math.ceil的实际行为:
- 当参数是正数时,比如
2.1、2.9,返回3.0,向正无穷方向取整 - 当参数是负数时,比如
-2.1、-2.9,返回-2.0,同样是向正无穷方向取整
你看到的文档描述没有错误,只是表述角度和你从取整方向理解的角度不同:
文档里的“大于或等于参数且为数学整数的最小(最接近负无穷大)double值”,重点是在所有满足「大于等于参数」的整数集合里找最小的那个:
- 以
2.3为例,满足条件的整数是3,4,5,...,其中最小的数是3,这个数在数轴上就是最接近负无穷的(比4、5更靠左) - 以
-2.3为例,满足条件的整数是-2,-1,0,...,其中最小的数是-2,同样是这个集合里最接近负无穷的
你的实际体验“向正方向取整”是对的,这和文档的描述完全统一——因为向正无穷取整得到的结果,恰好就是所有≥参数的整数里最小的那个,也就是该集合中最接近负无穷的数。
内容的提问来源于stack exchange,提问作者marick0073
相关产品推荐
相关产品推荐

