Я переписываю старую программу на Java 6, написанную для выполнения некоторых научных вычислений на Java 8, и застрял в этой ситуации, когда у меня возникают разные результаты для операции округления.Различные результаты округления в Java 6 и Java 8
Java 6 округляет вход как 0.499999999999999999994
до 1
, но Java 8 делает это 0
. Я не могу понять проблему здесь.
Например:
private void foo() {
System.out.println(Math.round(0.499999999999999999994));
}
Приведенный выше код ведет себя по-разному для разных версий Java.
Было бы здорово, если бы кто-то мог пролить свет на эту проблему.
отправить свой java 6 и java 8 код – Aaron
@Aaron Я включил базовый код. Спасибо за ваш комментарий. –