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中规范课程的典型方法是使用位于该课程的工厂 因此,构建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是不可能的! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |