如何测试Float或Double是无限还是NaN?

时间:2015-07-15 20:28:55

标签: 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?

1 个答案:

答案 0 :(得分:13)

这些是装箱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