/ / Scala Преобразуване на многоредов низ в BigInt - string, scala, type-conversion, bigint

Scala Конвертиране на многолентов низ в BigInt - низ, скала, преобразуване на типове, bigint

Опитвам се да разбера 100 50-цифрени числа от низ с по-нисък код:

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

но аз завършвам с java.lang.Нямам представа защо това не работи, тъй като, когато низът е разделен, всеки елемент от списъка е от тип String. Всяка помощ ще бъде много оценявам.

С Най-Добри Пожелания

Отговори:

1 за отговор № 1

Вероятно сте на Windows, където EOL е rn.

Трябва също така да го съблечеш.

Ето, аз се рестартира в 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 за използване на rn крайни линии.

Ето един пример, при който непотвърденото несъответствие на импеданса между източника на EOL и времето за изпълнение на EOL ме подслушваше:

някакъв тъп код

Искате да използвате s.lines.mkString да го изтрие.