我在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
有任何解决方法吗?
随着即将到来的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