BigInteger.valueOf()对于非常大的数字?

时间:2009-08-27 22:00:58

标签: java parsing biginteger

在Java中将50位数字符串转换为BigInteger的最佳方法是什么?它没有valueOf(String)方法,我无法转换为Long,因为它太小了。

4 个答案:

答案 0 :(得分:14)

它有一个BigInteger(String)构造函数: - )

String S = "12345678901234567890123456789012345678901234567890";
BigInteger bi = new BigInteger(S);

答案 1 :(得分:2)

怎么样......

BigInteger bi = new BigInteger(my50DigitString);

所有这些Xxx.valueOf()方法都是构造函数的替代方法,因为它们允许返回共享的缓存副本。根据定义,构造函数每次都返回一个新实例。所以valueOf()是一个很好的优化,但设计者显然没有发现提供BigInteger.valueOf(String)方法很有趣。在这种情况下,您将不得不使用其中一个构造函数。

答案 2 :(得分:1)

BigInteger有一个带String的构造函数。

答案 3 :(得分:1)

你试过吗

BigInteger i = new BigInteger(s);