在Scala 2.12.7中,如何从最初比Long长的整数创建BigInt?我正在寻找一种简单的方法,在其中编写一个表达式,该表达式在求值时就是将我的原始长整数表示为BigInt。
例如:(任意75位整数)->等效的BigInt
可以在REPL中完成。
答案 0 :(得分:1)
如果您输入的是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
using java,scala.math.BigInt
依赖。
scala> import java.math.BigInteger
import java.math.BigInteger
scala> new BigInteger(encodedInt)
res1: java.math.BigInteger = 111111111111111111111111111111111111111111111111111111111111111111111111111