【发布时间】:2018-12-02 20:05:34
【问题描述】:
在 Scala 2.12.7 中,如何从最初比 Long 长的整数创建 BigInt?我正在寻找一些简单的东西,我写一个表达式,当评估时,我原来的长整数表示为 BigInt。
例如:(任意75位整数)-->等价BigInt
这可以在 REPL 中完成。
【问题讨论】:
-
BigInt 可以将您的数字的字符串表示形式作为输入
标签: scala biginteger
在 Scala 2.12.7 中,如何从最初比 Long 长的整数创建 BigInt?我正在寻找一些简单的东西,我写一个表达式,当评估时,我原来的长整数表示为 BigInt。
例如:(任意75位整数)-->等价BigInt
这可以在 REPL 中完成。
【问题讨论】:
标签: scala biginteger
如果你的输入是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
【讨论】: