Я хочу округлить Java BigDecimal
до определенного количества значащих цифр (НЕ десятичных знаков), например, до 4 цифр:
12.3456 => 12.35
123.456 => 123.5
123456 => 123500
и т.д.. Основная проблема заключается в том, как найти порядок величины BigDecimal
, чтобы я мог затем решить, сколько мест использовать после десятичной точки.
Все, что я могу вспомнить, это какой-то ужасный цикл, деленный на 10, пока результат не станет <1, я надеюсь, что есть лучший способ. </p>
Кстати, число может быть очень большим (или очень маленьким), поэтому я не могу преобразовать его в удвоенное значение, чтобы использовать Log on.