将 JavaScript`s Number 转换为 Scala 的 Double

Convert JavaScript`s Number to Scala's Double

如何将我知道是 JavaScript number 的无类型 js.Dynamic 实例转换为 Scala Double 类型?

背景:我有一个 js 库,它还没有 Scala.js 包装器。它发送某些事件,我想在 Scala 代码中使用这些事件的数据,我需要在其中正确输入。

到目前为止我所做的是:首先 js number 到 Scala 的 String,然后 StringDouble

map.addListener("click", {(e: js.Dynamic) => {
      val c = map.pixelToGeo(e.displayX, e.displayY)
      GenerateSampleData.mapClickCoord() = 
        Coordinate(
          String.valueOf(c.latitude).toDouble,
          String.valueOf(c.longitude).toDouble)
    }})

有效,但我觉得很难看,必须有更好的方法。有什么想法吗?

如果我错了,

@sjrd 会纠正我,但我相信 Scala 的 Double 引擎盖下的 JS 编号。所以如果你确信 c.latitude 是一个数字,我相信你可以简单地说:

c.latitude.asInstanceOf[Double]