-9

我想将负值四舍五入为零。例如:-223.5 到 0.0。Java中是否有任何特定的方法?

4

3 回答 3

6
int nonNegative =  Math.max(yourValue, 0);
double nonNegativeDouble =  Math.max(yourValueAsDouble, 0.0);
于 2012-12-11T11:04:23.360 回答
5

三元运算符:

a = a<0 ? 0 : a;

如果声明:

if (a<0) a = 0;

不要仅仅为了它而使用方法或 API。我认为“KISS”原则在这种情况下适用。

我个人对 API 的看法是,如果它使您的代码更具可读性、更易于维护、不要重新发明轮子和/或您不重复自己,那么您应该使用它们。

在这种情况下,我认为您想要做的事情可以通过一个简单的条件单行语句来实现,因此,您不会从使用 API 中受益。

但实际上,这也可以通过使用该Math.max函数的另一个答案中所述来实现:

a = Math.max(a, 0);
于 2012-12-11T11:05:04.677 回答
4

而已:

float a = -223.5;
if(a < 0)
    a = 0.0;
于 2012-12-11T11:04:10.430 回答