【问题标题】:How do I create a Scala BigInt from arbitrary integer of length greater than a Scala Long?如何从长度大于 Scala Long 的任意整数创建 Scala BigInt?
【发布时间】:2018-12-02 20:05:34
【问题描述】:

在 Scala 2.12.7 中,如何从最初比 Long 长的整数创建 BigInt?我正在寻找一些简单的东西,我写一个表达式,当评估时,我原来的长整数表示为 BigInt。

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

这可以在 REPL 中完成。

【问题讨论】:

  • BigInt 可以将您的数字的字符串表示形式作为输入

标签: scala biginteger


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多