scala中的大整数

scala中的大整数,scala,bigint,Scala,Bigint,我是斯卡拉的新手。我试图为一个简单的阶乘函数创建一个测试用例。 我无法在assert语句中指定结果值。我要走了 整数超出范围,即使对于IntelliJ中的Long类型错误 test("Factorial.factorial6") { assert(Factorial.factorial(25) == 15511210043330985984000000L) } 我还尝试使用“L”字面值将值赋给val,它再次显示相同的值 信息 valb:BigInt=1551121004333

我是斯卡拉的新手。我试图为一个简单的阶乘函数创建一个测试用例。 我无法在assert语句中指定结果值。我要走了
整数超出范围,即使对于IntelliJ中的Long类型
错误

  test("Factorial.factorial6") {

    assert(Factorial.factorial(25) == 15511210043330985984000000L)
  }
我还尝试使用“L”字面值将值赋给val,它再次显示相同的值 信息

valb:BigInt=155112100433309885984000000L


很明显,我缺少了一些有关Scala的基本知识,我将非常感谢您的帮助,为了解决这个问题,您提供的值确实比
长的
中的值大,这是Scala中文字值的最大大小。但是,您可以使用包含以下值的
字符串初始化
BigInt

val b = BigInt("15511210043330985984000000")
因此

assert(Factorial.factorial(25) == BigInt("15511210043330985984000000"))
这是你的朋友。