[英]List string int converting in scala
我對帶有scala的char和int列表感到困惑。 這是我的例子:
scala> var s = "123456"
s: String = 123456
scala> s.map(_.toInt)
res0: scala.collection.immutable.IndexedSeq[Int] = Vector(49, 50, 51, 52, 53, 54)
scala> s.map(_.toInt).sum
res1: Int = 309
字符以我假定的ASCII代碼轉換,如何僅將其值轉換為字符?
謝謝
s.map(_.asDigit).sum
是正確的Scala API方法。 toInt
將返回符號的ASCI代碼,而不是數字表示形式。
scala> "123456".map(_.asDigit).sum
res0: Int = 21
您可以像這樣使用Character.getNumericValue(char)
s.map(Character.getNumericValue(_))
產出
res2: scala.collection.immutable.IndexedSeq[Int] = Vector(1, 2, 3, 4, 5, 6)
另一種選擇是將'0'
減去
s.map(_ - '0')
對於相同的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.