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.Math
的 signum
方法所做的。请注意,它 return 是 double
,因此您可能希望将其转换为 int
:
int result = (int) Math.signum(someNumber);
编辑:
问题的 body 和标题有点矛盾,在 re-reading 问题之后我不确定你是否想得到 1
/[ 的 int
=18=] 或 double
的 1.0
/-1.0
。
如果是前者,上面的答案应该可以解决问题。如果是后者,则应删除对 int
的显式转换,并仅使用 signum
的 return 值:
double result = Math.signum(someNumber);
我看过其他类似的帖子,但 java 中没有。我想转换一个像 -6.9 这样的负双精度值,然后把它变成 -1.0 或者如果它的 4.2 把它变成 1.0 。我可以用一堆 if 语句来完成,但我喜欢使用更简洁的方式。
这正是 java.util.Math
的 signum
方法所做的。请注意,它 return 是 double
,因此您可能希望将其转换为 int
:
int result = (int) Math.signum(someNumber);
编辑:
问题的 body 和标题有点矛盾,在 re-reading 问题之后我不确定你是否想得到 1
/[ 的 int
=18=] 或 double
的 1.0
/-1.0
。
如果是前者,上面的答案应该可以解决问题。如果是后者,则应删除对 int
的显式转换,并仅使用 signum
的 return 值:
double result = Math.signum(someNumber);