매우 큰 숫자에 대한 biginteger.valueof ()?
-
20-09-2019 - |
문제
50 자리 문자열을 Java의 Biginteger로 변환하는 가장 좋은 방법은 무엇입니까? (문자열) 메소드의 가치가 없으며 너무 작기 때문에 Long으로 변환 할 수 없습니다.
해결책
그것은 a가 있습니다 BigInteger(String)
생성자 :-)
String S = "12345678901234567890123456789012345678901234567890";
BigInteger bi = new BigInteger(S);
다른 팁
어때 ...
BigInteger bi = new BigInteger(my50DigitString);
모든 xxx.valueof () 메소드는 공유 된 캐시 된 사본을 반환 할 수 있기 때문에 생성자에 대한 대안입니다. 제작자는 정의에 따라 매번 새 인스턴스를 반환합니다. 따라서 ()의 가치는 좋은 최적화이지만 디자이너는 분명히 BigInteger.Valueof (String) 방법을 제공하는 것이 흥미로 웠습니다. 이 경우 생성자 중 하나를 사용해야합니다.
Biginteger에는 문자열을 취하는 생성자가 있습니다.
당신은 시도 했습니까?
BigInteger i = new BigInteger(s);
제휴하지 않습니다 StackOverflow