Я сейчас пишу приложение для калькулятора.Я знаю, что двойной не лучший выбор для хорошей математики.Большинство функций в приложении имеют большую точность, но те, которые не дают ужасных результатов.Мое решение состоит в том, чтобы показывать пользователям только 12 десятичных знаков точности.Я выбрал 12, потому что моя наименьшая точность исходит из моей числовой производной функции.
Проблема, с которой я сталкиваюсь, заключается в том, что если я умножу это на масштабирующее устройство, а затем округлю, то разделю на масштабирующее устройство, точность, скорее всего, будет выброшенасильный удар.Если я использую DecimalFormat, то нет способа показать только 12 и правильно отобразить букву E для научной нотации, но ее не будет, если это не нужно.
например, я хочу
1.23456789111213 to be 1.234567891112
но никогда
1.234567891112E0
но я также хочу
1.23456789111213E23 to be 1.234567891112E23
Так что в основном я хочу отформатировать строку числа в 12 знаков после запятой, сохраняя научную запись, ноне быть научным, когда это не должно