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