나는 SAS xpt 파일을 읽고 열 값을 ByteBuffer
에 저장 한 다음 getValue()
메서드를 사용하여 Double 객체를 가져 오는 응용 프로그램을 가지고 있습니다. 이제 소수점 12 자리까지 Double
까지 인쇄해야합니다. 나는이 어떤에서에서 하나의 답을 찾을 수는 정수 부분에있는 3 개 자리가 있기 때문에 주어 잘하지만, 몇 가지 경우이중 숫자로 반올림하는 방법
BigDecimal bd = new BigDecimal(dblColumnData.doubleValue());
System.out.println(String.format("%."+15+"G", bd));
15을 작동하고 소수점 후 12 중요한 자리가 있어야합니다.
에서 BigDecimal
을 생성했기 때문에 작동하지 않는 경우입니다. Double을 인쇄하면 십진법 후 12 자리 이상이 포함되며 위의 동일한 접근 방식으로 정확하게 반올림됩니다.
따라서 나는 내 문제를 해결할 것입니다 Double
에 대한 비슷한 형식의 방법을 얻을 수 있다고 생각합니다.
인쇄 할 인쇄 할 다음 * 중요한 * 숫자를 실제로 의미합니까? 나는. '123456.123456'에는 유효 자릿수 12 자리가 포함되지만 소수점 여섯 자리 만 포함됩니다. 자네가 12 자리가 필요하다는 뜻인 것 같니? –
@EJP는 소수 자릿수임을 확신합니다 :-) –
dblColumnData에는 어떤 다른 방법이 있습니까? 그것은 당신이 올바르게 두 번 통과하지 않고 다른 방법으로 그것을 BigDecimal로 변환해야 할 가능성이 보인다. –