powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как посчитать BigDecimal or double с 10 знаками после коммы?
3 сообщений из 3, страница 1 из 1
Как посчитать BigDecimal or double с 10 знаками после коммы?
    #39427804
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, подскажите, кто разбирается, а то с этими знаками после коммы.. Не очень идет..

Есть два числа
v2=1000000.0000000001
v1=1000000.0

Нужно посчитать сл формулу.
abs( (value1 - value2) / max(value1, value2)) <= 10(в -10 степени)

Код: java
1.
2.
3.
4.
5.
Integer expectedValidError = 10; //так надо
expectedValidError *= -1;
BigDecimal abs = ((numberA.subtract(numberB)).divide(max)).abs();
BigDecimal powExpectedValidError = BigDecimal.valueOf(Math.pow(10, expectedValidError.doubleValue()));
boolean result = new BigDecimal(abs).compareTo(powExpectedValidError) <= 0;



С таким раскладом вылетает

Код: java
1.
2.
java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.
	at java.math.BigDecimal.divide(BigDecimal.java:1690)



Пробовал перевести в стринг, но если пытаюсь делить, получаю такую же ошибку.
Код: java
1.
String substractResult = v2.subtract(v1).toPlainString(); //получаю .0000000001



Спасибо.
...
Рейтинг: 0 / 0
Как посчитать BigDecimal or double с 10 знаками после коммы?
    #39427887
alexanderer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: java
1.
BigDecimal.valueOf(10).divide(BigDecimal.valueOf(9), 10, BigDecimal.ROUND_HALF_UP)
...
Рейтинг: 0 / 0
Как посчитать BigDecimal or double с 10 знаками после коммы?
    #39428754
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexanderer
Код: java
1.
BigDecimal.valueOf(10).divide(BigDecimal.valueOf(9), 10, BigDecimal.ROUND_HALF_UP)

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


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