我只想对 BigInt 的数字求和。我能做到
scala> "1 2 3".split(" ").map(_.toInt).sum
res23: Int = 6
所以我尝试了
scala> BigInt(123).toString().map(_.toInt).sum
res24: Int = 150
这不起作用,因为它将字符映射到它们的 Unicode 值。
下面的方法都可以,但是有没有比使用 Java 静态方法或额外的 toString 转换更优雅的方法?
BigInt(123).toString().map(Character.getNumericValue(_)).sum
BigInt(123).toString().map(_.toString.toInt).sum
(我还使用递归函数来完成此操作,完全避开字符串,但我对简洁的 1-liner 感兴趣。)
最佳答案
哇...这些答案到处都是!在这里,执行以下操作:
BigInt(123).toString().map(_.asDigit).sum
关于string - String 字符的 Scala int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6238353/