BigInteger.valueOf () para números muy grandes?
-
20-09-2019 - |
Pregunta
¿Cuál sería la mejor manera de convertir una cadena de 50 dígitos para un BigInteger en Java? No tiene un método valueOf (String), y yo no puede convertir a Long porque es demasiado pequeño.
Solución
Tiene un BigInteger(String)
constructor: -)
String S = "12345678901234567890123456789012345678901234567890";
BigInteger bi = new BigInteger(S);
Otros consejos
¿Qué tal ...
BigInteger bi = new BigInteger(my50DigitString);
Todos los Xxx.valueOf () métodos son alternativas a los constructores, ya que permiten volver compartidos, copias en caché. Constructores, por definición, devolver una nueva instancia cada vez. Así valueOf () son una buena optimización, pero los diseñadores aparentemente no les resulta interesante es proporcionar un método BigInteger.valueOf (String). Vas a tener que utilizar un uno de los constructores en este caso.
BigInteger tiene un constructor que toma una cadena.
¿Ha tratado
BigInteger i = new BigInteger(s);