Java 负数变成-1,正数变成1

Java Turning a negative number into -1 and a positive number into 1

我看过其他类似的帖子,但 java 中没有。我想转换一个像 -6.9 这样的负双精度值,然后把它变成 -1.0 或者如果它的 4.2 把它变成 1.0 。我可以用一堆 if 语句来完成,但我喜欢使用更简洁的方式。

这正是 java.util.Mathsignum 方法所做的。请注意,它 return 是 double,因此您可能希望将其转换为 int:

int result = (int) Math.signum(someNumber);

编辑:
问题的 body 和标题有点矛盾,在 re-reading 问题之后我不确定你是否想得到 1/[ 的 int =18=] 或 double1.0/-1.0。 如果是前者,上面的答案应该可以解决问题。如果是后者,则应删除对 int 的显式转换,并仅使用 signum 的 return 值:

double result = Math.signum(someNumber);