powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как работает Math.nextAfter для double?
3 сообщений из 3, страница 1 из 1
Как работает Math.nextAfter для double?
    #38658020
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то джавадок и результаты примеров никак не помогают мне понять как работает это метод - получаю какие-то массонские цифры непонятно откуда взявшиеся. Проясните ситуацию.
...
Рейтинг: 0 / 0
Как работает Math.nextAfter для double?
    #38658061
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все молчат, давайте я погадаю.

Double не может представить любое число из множества вещественных чисел. На самом деле множество Double получается конечным. Вот nextAfter() и дает возможность определить следующее значение после указанного. Из-за лени проверял в консоли Rhino (JS на джаве который), но думаю, особых отличий от настоящей джавы быть не должно:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
js> java.lang.Math.nextAfter(1.0, 1.1)
1.0000000000000002
js> java.lang.Math.nextAfter(1.0000000000000002, 1.1)
1.0000000000000004
js> java.lang.Math.nextAfter(1.0000000000000004, 1.1)
1.0000000000000007
js> java.lang.Math.nextAfter(1.0000000000000007, 1.1)
1.0000000000000009
js> java.lang.Math.nextAfter(1.0000000000000009, 1.1)
1.000000000000001
js> a=1.0000000000000002
1.0000000000000002
js> a=1.0000000000000003
1.0000000000000002
js> a=1.0000000000000005
1.0000000000000004
js> a=1.0000000000000006
1.0000000000000007



Выводы из примера.
Значения, которые можно представить типом Double:
1.0000000000000002
1.0000000000000004
1.0000000000000007
1.0000000000000009

Значения, которые типом Double представить не получится
1.0000000000000003
1.0000000000000005
1.0000000000000006

Так как пользовался Rhino, вполне возможно, тут везде фигурирует Float, а не Double (лень искать чем они там пользуются), но это не важно. Принцип тот же.
Спасибо Math.nextAfter(), теперь я зачем-то знаю эти числа :).
...
Рейтинг: 0 / 0
Как работает Math.nextAfter для double?
    #38658166
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexander A. Sak,

спасибо,похоже на правду
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как работает Math.nextAfter для double?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]