You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scala.js中如何提前判断Double类型变量是否为NaN?

在Scala.js中判断Double是否为NaN

在Scala.js里,你可以通过两种可靠的方式判断变量是否为NaN:

方法一:使用Scala标准库的Double.isNaN方法

直接调用Scala Double类型自带的isNaN方法,这是最贴合Scala语法的方式:

import scala.scalajs.js
import scala.scalajs.js.Date
import org.scalajs.dom.window.alert

val num: Double = new Date("a").getTime
if (num.isNaN) {
  alert("num是无效的数值(NaN)")
} else {
  alert((num + 1).toString)
}

方法二:使用JavaScript原生的js.Number.isNaN方法

Scala.js可以直接调用JavaScript的API,js.Number.isNaN是JavaScript提供的精准判断NaN的方法,只会对真正的NaN返回true:

import scala.scalajs.js
import scala.scalajs.js.Date
import org.scalajs.dom.window.alert

val num: Double = new Date("a").getTime
if (js.Number.isNaN(num)) {
  alert("num是无效的数值(NaN)")
} else {
  alert((num + 1).toString)
}

注意事项

不要使用全局的isNaN函数(即js.isNaN),因为它会将非数值类型先转换为数值再判断,可能导致误判(比如js.isNaN("abc")也会返回true),而上面两种方法只会针对真正的NaN值做判断,准确性更高。

内容的提问来源于stack exchange,提问作者R A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 12:05:21