为什么Java中没有ceil(float)?

时间:2012-06-14 12:59:45

标签: java floating-point integer

假设我想在float中将int汇总到Java
例如,

roundUp(0.2) = 1
roundUp(0.7) = 1
roundUp(1.3) = 2
...

我想致电Math.ceilMath.round来执行此操作,但java.lang.Math未提供ceil(float)。它仅提供ceil(double)。因此,我的float默默地提升为doubleceil(double)返回doubleround(double)返回long,而我需要整理float } int(不是long)。

现在我想知道为什么java.lang.Math只有ceil(double)且没有ceil(float)

1 个答案:

答案 0 :(得分:18)

你可以这样做:

value = (int) Math.ceil(value);

如果您知道value是浮点数,那么您可以将结果转回floatint

Java库提供ceil(float)ceil(double)是没有意义的,因为所有浮点参数都可以传递给ceil(double)方法,结果相同。