Как мне создать Scala BigInt из произвольного целого числа длины больше, чем Scala Long? - PullRequest
0 голосов
/ 02 декабря 2018

В Scala 2.12.7 как я могу создать BigInt из целого числа, изначально длиннее, чем Long?Я ищу что-то простое, где я пишу выражение, которое при оценке является моим исходным длинным целым числом, выраженным как BigInt.

Например: (произвольное 75-значное целое число) -> эквивалентBigInt

это может быть достигнуто в REPL.

1 Ответ

0 голосов
/ 02 декабря 2018

если вы вводите String, вы можете использовать BigInt.apply, который фактически использует конструктор java.math.BigInteger.

scala> val encodedInt = List.fill(75)("1").mkString("")
encodedInt: String = 111111111111111111111111111111111111111111111111111111111111111111111111111

scala> BigInt(encodedInt)
res0: scala.math.BigInt = 111111111111111111111111111111111111111111111111111111111111111111111111111

с использованием Java ,от которого scala.math.BigInt зависит.

scala> import java.math.BigInteger
import java.math.BigInteger

scala> new BigInteger(encodedInt)
res1: java.math.BigInteger = 111111111111111111111111111111111111111111111111111111111111111111111111111
...