What would be the best way to convert a 50-digit String to a BigInteger in Java? It doesn't have a valueOf(String) method, and I can't convert to Long because it's too small.
+13
A:
It does have a BigInteger(String)
constructor :-)
String S = "12345678901234567890123456789012345678901234567890";
BigInteger bi = new BigInteger(S);
ChssPly76
2009-08-27 22:06:19
thanks, must have overlooked that.
Jorn
2009-08-27 22:47:29
+1
A:
How about...
BigInteger bi = new BigInteger(my50DigitString);
All those Xxx.valueOf() methods are alternatives to constructors because they allow for returning shared, cached copies. Constructors, by definition, return a new instance every time. So valueOf() are a nice optimization, but the designers apparently didn't find it interesting to provide a BigInteger.valueOf(String) method. You'll have to use a one of the constructors in this case.
John M
2009-08-27 22:07:57