string - Scala 将多行字符串转换为 BigInt

标签 string scala type-conversion bigint

我正在尝试使用以下代码从字符串中解析 100 个 50 位数字:

val input = """37107287533902102798797998220837590246510135740250
          |46376937677490009712648124896970078050417018260538
          |74324986199524741059474233309513058123726617309629""".stripMargin
val list = input.split("""\n""").map(BigInt(_))

但我以“java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)”结尾。我不知道为什么这不起作用,因为当字符串被拆分时,列表的每个元素都是字符串类型。任何帮助将非常感激。

此致

最佳答案

可能你在 Windows 上,EOL 是\r\n。

你也必须剥掉它。

在这里,我重新启动到 Windows 来演示...

apm@halyard ~/tmp
$ vi bigbomb.scala

apm@halyard ~/tmp
$ skalac bigbomb.scala ; skala bigbomb.Test
"ava.lang.NumberFormatException: For input string: "35740250
        at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

请注意,在 cygwin 中,我必须 :se fileformat=dos在 vi 中使用\r\n 行结尾。

这是一个示例,其中源 EOL 和运行时 EOL 之间未确认的阻抗不匹配让我烦恼:

some dumb code

您要使用 s.lines.mkString将其剥离。

关于string - Scala 将多行字符串转换为 BigInt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17090537/

相关文章:

Java String->unicode->字符串转换不一致

Scala Right, Left 分解困难

scala - 在 slick 中更新表的前 n 行

typescript - 运算符 '==' 不能应用于 Typescript 2 中的类型 x 和 y

c++ - (GCC 错误?)隐式转换为派生类

javascript - 输入 jQuery 中 'ä' ,'ö' ,'ü' 的处理

javascript - 用户 ID 函数 JavaScript

python - 如何检查列表中的所有字符串?

scala - 保留顺序的两个列表的随机合并

c# - 如何在C#中将entitybase类型转换为实体类型