scala - 如何测试 Float 或 Double 是无穷大还是 NaN?

标签 scala floating-point double

在 Java 中有一个 API 来测试 if a number is infiniteNaN .

我在 Scala 中找不到这样的东西,要调用 Java 函数,似乎我需要将值装箱或调用 java.lang.Double 静态方法:

Double.box(x).isNaN

java.lang.Double.isNaN(x)

真的没有比 Scala 更“原生”的东西来测试无限/NaN-ness了吗?

最佳答案

这些是盒装 scala.Double 上的方法.无需手动装箱。

scala> 1.2.isNaN
res1: Boolean = false

scala> 1.2.isInfinity
res2: Boolean = false

scala> (0.0 / 0.0).isNaN
res8: Boolean = true

scala> (1.0 / 0.0).isInfinity
res5: Boolean = true

关于scala - 如何测试 Float 或 Double 是无穷大还是 NaN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31440413/

相关文章:

java - 线程中的流式 Spark 异常 "main"

scala - Spark Scala Jaas 配置

javascript - 比较两个 float 以查看它们是否均为负数或均为正数

java - 如何拆分字符串序列并将每个元素转换为 double

c++ - 在 C++ 中获取大于或等于 double 的最小 float (以及小于或等于的最大 float )

scala - Play 2.7 中的 RequestScoped

scala - 凿子:如何避免错误 NO DEFAULT SPECIFIED FOR WIRE

c - 如何在C中成对读取 float ?

java - java中如何将Integer的某些操作的结果存储到不同的数据类型中