Java:绝对值的最大值和最小值

Add*_*dev 2 java

我正在寻找一种方法,给出2个浮点数A和B返回具有较低绝对值的值(A或B).

最初我试过了

Math.min(Math.abs(A),Math.abs(B)); 
Run Code Online (Sandbox Code Playgroud)

但它不正确,因为例如(-9,-2)返回+2并且我正在寻找的返回值是-2.

是否有一些原生/内置?

Sea*_*wen 10

Math.abs(A) < Math.abs(B) ? A : B;
Run Code Online (Sandbox Code Playgroud)

  • (换句话说,可能没有内置功能,而且更容易实现自己) (3认同)

Mal*_*lio 6

我不赞成对局部变量使用大写,但是

 (Math.abs(A) < Math.abs(B)) ? A : B
Run Code Online (Sandbox Code Playgroud)


Edd*_*Edd 5

Math.min()返回传递给它的两个参数中最低的一个。在上面的例子中,你为它提供了参数9992(由Math.abs().

您可以用以下内容替换Math.min()呼叫:

Math.abs(A) < Math.abs(B) ? A : B;
Run Code Online (Sandbox Code Playgroud)