我要在Scala中声明一个类型为BigInt的变量,并初始化一个10位数字。
scala> var key: BigInt = 1234567890
key: BigInt = 1234567890
当我通过对同一key
变量进行乘法来创建另一个变量时,默认情况下,新变量的类型为BigInt,并带有更多数字。
scala> var key_multp = key * key
key_multp: scala.math.BigInt = 1524157875019052100
当我尝试为BigInt类型的变量分配15位数字的值时,它将引发错误。如何直接为BigInt类型的变量分配15位数字的值?
scala> var key:BigInt = 123456789012345
<console>:1: error: integer number too large
var key = 123456789012345
有什么解决方法吗?
答案 0 :(得分:0)
随着即将到来的Scala 3
(Dotty)和对numeric literals的改进,您可以按照直观的尝试分配BigInt
:
val big: BigInt = 1524157875019052100
// 1524157875019052100
,甚至带分隔符:
val big: BigInt = 1_524_157_875_019_052_100
// 1524157875019052100
或者,如前所述,在Scala 3之前,在String
的构造函数上使用BigInt
:
val big: BigInt = BigInt("1524157875019052100")
// 1524157875019052100