Java 8에서 일부 과학적 계산을 수행하기 위해 작성된 이전 Java 6 프로그램을 다시 작성하고 반올림 연산에 대해 다른 결과를 얻는이 상황에 갇혀 있습니다.Java 6 및 Java 8의 다른 반올림 결과
Java 6은 0.499999999999999999994
에서 1
과 같은 입력을 반올림하지만 Java 8은 0
과 같이 입력을 반올림합니다. 나는 여기서 문제를 이해할 수 없다. 예를 들어
:
private void foo() {
System.out.println(Math.round(0.499999999999999999994));
}
위의 코드는 다른 자바 버전을 다르게 동작합니다.
누군가가이 문제에 대해 밝힐 수 있다면 좋을 것입니다.
자바 6 및 자바 8 코드 – Aaron
@Aaron 게시 기본 코드가 포함되어 있습니다. 귀하의 의견에 감사드립니다. –