我想将负值四舍五入为零。例如:-223.5 到 0.0。Java中是否有任何特定的方法?
问问题
146 次
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 回答