java - 如何检查 Double 值是否为负数?

标签 java double

<分区>

如标题所示,我如何检查特定的 Double 是否为负数。这是如何获取 Double 实例

(Double.parseDouble(data[2])

想法、建议?

最佳答案

迂腐,< 0不会给你所有的负数。

double d = -0.0;
System.out.println(d + " compared with 0.0 is " + Double.compare(d, 0.0));
System.out.println(d + " < 0.0 is " + (d < 0.0));

打印

-0.0 compared with 0.0 is -1
-0.0 < 0.0 is false

-0.0为负但不小于0.0

你可以使用

public static boolean isNegative(double d) {
     return Double.compare(d, 0.0) < 0;
}

一个更有效但更迟钝的版本是检查带符号的位。

public static boolean isNegative(double d) {
     return Double.doubleToRawLongBits(d) < 0;
}

注意:在 IEEE-754 下,NaN 可以具有与负数相同的符号位。

关于java - 如何检查 Double 值是否为负数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10399801/

相关文章:

java - Android Studio 错误无法识别的窗口套接字

java - 最佳实践 在为 Web 项目创建 Solr HttpSolrServer 对象的对象时

c - C双指针重新分配错误

java - 如何为动态创建的 aspx 页面添加书签?

java - 创建像播放音乐一样的 Android Actionbar 菜单

java - j给定输出目录

c# - 在 C# 中将 Excel 范围作为文本数组或单元格格式的快速方法?

c++ - 提示输入 double 并读入直到用户正确输入 float

java - 解析没有尾数和指数分隔符的 double

c - double in decimal 和 floating 的精确值?