加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java / Scala BigInteger粘贴

发布时间:2020-12-14 17:48:49 所属栏目:Java 来源:网络整理
导读:我有一个 Java BigInteger类的问题:我不能将一个大的值粘贴到BigInteger.例如,假设我要为这个数字分配一个BigInteger: 26525285981219105863630848482795 我不能直接分配它,因为编译器认为它是一个整数: val bi = 26525285981219105863630848482795 //com
我有一个 Java BigInteger类的问题:我不能将一个大的值粘贴到BigInteger.例如,假设我要为这个数字分配一个BigInteger:

26525285981219105863630848482795

我不能直接分配它,因为编译器认为它是一个整数:

val bi = 26525285981219105863630848482795 //compile error

但我希望它成为一个BigInteger.有没有办法直接粘贴到源代码?如果没有这样的方法,那么Scala中有没有一种方法,它有更容易使用BigInt类?谢谢您的帮助.

解决方法

rtperson的 answer从Java的角度来说是正确的,但是在Scala中,您可以使用与java.math.BigIntegers可以做的更多的比较.

例如:

scala> val a = new BigInteger("26525285981219105863630848482795");
a: java.math.BigInteger = 26525285981219105863630848482795

scala> a + a
:7: error: type mismatch;
found   : java.math.BigInteger
required: String
       a + a

Scala中规范课程的典型方法是使用位于该课程的工厂
companion object.当您在Scala中写入Foo(args)时,将其转换为Foo.apply(args),其中Foo是单例对象 – 伴随对象.因此,为了找到构建BigInts的方法,您可以查看Scala库中的BigInt对象,特别是其应用构造.

因此,构建BigInt的三种方式是:传递一个Int,一个Long或一个String来进行解析.例:

scala> val x = BigInt(12)
x: BigInt = 12

scala> val y = BigInt(12331453151315353L)
y: BigInt = 12331453151315353

scala> val z = BigInt("12124120474210912741099712094127124112432")
z: BigInt = 12124120474210912741099712094127124112432

scala> x + y * z
res1: BigInt = 149508023628635151923723925873960750738836935643459768508

请注意,您可以使用BigInt进行自然的算术运算,这对BigInteger是不可能的!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读