Код: Выделить всё
BigDecimal d = ...;
if (d.compareTo(Expression.PI) == 0) {
//do something
}
Но мне не нужно сравнивать, если d равно пи с точностью до 100 десятичных знаков, но, скажем, только до 20-го знака после запятой. Другими словами, как проверить, примерно ли d равно пи?
Я пробовал
Код: Выделить всё
Expression.PI.setScale(20, RoundingMode.HALF_UP).compareTo(d.setScale(20, RoundingMode.HALF_UP)) == 0;
Код: Выделить всё
Expression.PI.setScale(20, RoundingMode.HALF_UP).compareTo(d) == 0;
Подробнее здесь: https://stackoverflow.com/questions/380 ... roximately
Мобильная версия