DecimalFormat
이 하나의 숫자로 반올림되어 BigDecimal
인 경우를 분석했으며 다른 컴퓨터에서는 잘 렸습니다.DecimalFormat 결과가 다른 컴퓨터에서 서로 다른 결과가 발생했습니다
두 컴퓨터에서 모든 구성을 확인했습니다 (모두 동일하지만 가정합니다). 내가 알아 낸 차이점은 JDK 버전뿐입니다.
머신 1은 JDK1.6에서 실행됩니다. 그러나, 나는 기계 1에서 JDK1.7과 동일하게 시도했다. JDK1.6과 동일하게 작동한다.
기계 (1 개) 결과에DecimalFormat decimalFormat = new DecimalFormat("#,###.00");
BigDecimal anObject = new BigDecimal("3.8880");
String str = decimalFormat.format(((Number)anObject).doubleValue());
System.out.println(str);
은 다음과 같습니다 : 기계 2 결과에 3.39
입니다 3.38
3.8880은 3.38 또는 3.39로 반올림되거나 잘릴 수 없습니다. 3.88/3.89를 의미합니까? 아니면 제대로 테스트하지 않았습니까? –
명령 프롬프트 "java -version"에서 실행 해보십시오. 어쩌면 JVM 버그 일 수도 있습니다. – Aris2World