임의로 긴 10 진수로 숫자를 계산하고 싶습니다. (특정 숫자에 대해 10 진수를 취하고 싶다고 가정). Java에서 BigDecimal (또는 다른 클래스)을 사용하여 훨씬 더 높은 정밀도 얻기
//Take the square root of 2 for 100 digits in total.
public class Main {
public static void main(String[] args) {
BigDecimal root2 = new BigDecimal(Math.pow(2, 0.5));
root2 = root2.setScale(99, BigDecimal.ROUND_HALF_UP);
System.out.println(root2);
}
}
그리고이 프로그램 출력 :
1.414213562373095145474621858738828450441360473632812500000000000000000000000000000000000000000000000
바이트의 저장에 초보자 배경을 갖는, 여기 문제가 출력 형식, 또는 난 아직받지 못했습니다 사실 중 하나입니다 실현 내가 기대하고있는 메모리를 사용하지 않기 때문에 찾고있는 정밀도. 어떤 제안? 이 정밀도를 높일 수 있습니까? 저는 Mathematica에 관심을 기울이지 않습니다.
명확화를 위해 : 나는 100 자리의 전체 정밀도를 얻으려고합니다. (0은 여기에 속하지 않습니다).
현재 100 자리가 있습니다. 몇 명이나 드시겠습니까? –
길이가 잘못되었다는 것은 아닙니다.'sqrt (2)'는 비합리적이며 그와 같은 후미가 없어야합니다. 내가 찾는 전체 수는 저장하지 않습니다. –
가능한 답은 http://stackoverflow.com/questions/13649703/square-root-of-bigdecimal-in-java를 참조하십시오. – bithead61