我需要做一些原始数据解析,我不得不使用Any
类型。如果我读取的数据是任何数字格式(Int/Double/Long/...),我需要将它转换为double,否则(例如String)我需要将其保留为空。这是我想出来的:斯卡拉方式将任意数字转换为双数
def extractDouble(expectedNumber: Any): Option[Double] = expectedNumber match {
case i: Int => Some(i.toDouble)
case l: Long => Some(l.toDouble)
case d: Double => Some(d)
case _ => None
}
这obvoiusly看起来并没有甚至体面。在scala中有没有更好的方法来处理这个问题?
很难听到它,但我想你是对的;) – Niemand