我們可以制定一個方法:
def isNegNumber(s : String) : Boolean =
(s.head == '-') && s.substring(1).forall(_.isDigit)
有沒有更干凈的方法來做到這一點?
uj5u.com熱心網友回復:
您可以使用Try和Option以更安全的方式執行此操作。如果字串根本不是數字,這將防止錯誤
import scala.util.Try
val s = "-10"
val t = Try(s.toDouble).toOption
val result = t.fold(false)(_ < 0)
或者甚至更好,根據 Luis 的評論,從 Scala 2.13 開始(更簡單、更高效):
val t = s.toDoubleOption
val result = t.fold(false)(_ < 0)
uj5u.com熱心網友回復:
使用正則運算式模式。
"-10" matches "-\\d " //true
它可以很容易地調整以解決空白。
"\t- 7\n" matches raw"\s*-\s*\d \s*" //true
uj5u.com熱心網友回復:
另一種可能的解決方案可能是:
def isNegativeNumber(s: String) = s.toDoubleOption.exists(_ < 0)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/312789.html
標籤:斯卡拉
上一篇:測驗Scala型別類的成員資格
