假设我想在float
中将int
汇总到Java
。
例如,
roundUp(0.2) = 1
roundUp(0.7) = 1
roundUp(1.3) = 2
...
我想致电Math.ceil
和Math.round
来执行此操作,但java.lang.Math
未提供ceil(float)
。它仅提供ceil(double)
。因此,我的float
默默地提升为double
,ceil(double)
返回double
,round(double)
返回long
,而我需要整理float
} int
(不是long
)。
现在我想知道为什么java.lang.Math
只有ceil(double)
且没有ceil(float)
。
答案 0 :(得分:18)
你可以这样做:
value = (int) Math.ceil(value);
如果您知道value
是浮点数,那么您可以将结果转回float
或int
。
Java库提供ceil(float)
和ceil(double)
是没有意义的,因为所有浮点参数都可以传递给ceil(double)
方法,结果相同。