java - 比较Java中两个双打的符号
问题描述
我有 2 个双打,检查它们是否具有相同符号的最佳方法是什么?
现在我检查
Math.signum(d1) == Math.signum(d2)
但我不确定双精度数是否正确,因为 Math.signum() 本身返回一个双精度值。
如果我已经检查了这两个数字都不接近 0,上述情况可以吗?
解决方案
它可以工作,因为返回值始终是param / Math.abs(param)
( x / |x|
),所以从{-1.0, 0.0, 1.0}
(0.0 中的数字,如果输入为 0 以避免除以 0)并且根据javadoc它适用于双精度。
如果您不确定,您可以随时检查:d1 * d2 >= 0
.
推荐阅读
- redis - 一个命令/脚本来查找和刷新 Redis 集群中的所有主节点
- angular - 如何在 Angular 6 中呈现转义的 html
- android - Flutter - 在“assembleDebug”期间构建失败
- sql - 如何在单个查询中执行“IN”和“WHERE”子句
- iot - 如何在 contikiRPL 中访问 rpl 的目标函数 MRHOF 中的数据包详细信息?
- reactjs - 如何在反应服务器端呈现时重定向到外部链接?
- sql - 已将键用作外键的重新播种表
- python-3.x - 假设角色实例配置文件 boto3 python
- python - ChromeDriver 下载 blob
- apache-kafka - Kafka Producer API:bootstrap.servers 属性值