elm*_*elm 13
考虑scala.util.Try在将字符串转换为数值时捕获可能的异常,如下所示,
Try("123".toDouble).isSuccess
Boolean = true
Try("a123".toDouble).isSuccess
Boolean = false
Run Code Online (Sandbox Code Playgroud)
至于易用性,请考虑这个隐含的,
implicit class OpsNum(val str: String) extends AnyVal {
def isNumeric() = scala.util.Try(str.toDouble).isSuccess
}
Run Code Online (Sandbox Code Playgroud)
于是
"-123.7".isNumeric
Boolean = true
"-123e7".isNumeric
Boolean = true
"--123e7".isNumeric
Boolean = false
Run Code Online (Sandbox Code Playgroud)