如何使用大于Scala Long的任意整数创建Scala BigInt?

时间:2018-12-02 20:05:34

标签: scala biginteger

在Scala 2.12.7中,如何从最初比Long长的整数创建BigInt?我正在寻找一种简单的方法,在其中编写一个表达式,该表达式在求值时就是将我的原始长整数表示为BigInt。

例如:(任意75位整数)->等效的BigInt

可以在REPL中完成。

1 个答案:

答案 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 javascala.math.BigInt依赖。

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

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