簡體   English   中英

在scala中列出字符串int轉換

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM