Есть ли способ выполнить кусок кода в зависимости от того, сколько десятичных знаков есть в количестве. Например, если double был всего 2.0, я хотел бы преобразовать его в целое число, но если бы это было 2.43426, я бы хотел оставить его как double. Благодаря!условия для If Else (с числом знаков после запятой)
1
A
ответ
6
Не уверен, но будет:
double d = 2.0;
if ((long) d == d) {
// then
}
Работа для вас? Это только ответит на ваш вопрос в этом конкретном случае.
0
Вы можете указать точность и преобразовать так:
double precision = 1e-10;
int rounded = Math.round(x);
if (Math.abs(x-rounded) > precision) System.out.print(x)
else System.out.print(rounded);
0
- Преобразование двойной в строку
- Использование регулярных выражений, найти десятичную точку, а затем получить количество символов после этого.
- использовать его в случае, еще
0
быстрый и грязный решение было бы следующее:
double foo = 2.43426;
int count = String.valueOf(foo).split(".")[1].toCharArray().length;
if(count > 1){
// do stuff
}
0
Если это то, что вы после:
я бы преобразовал их в строки и записывал их, поэтому я хотел бы, чтобы он сказал 3 вместо 3.0, но не 3 вместо 3.4324.
Тогда «правильный» способ использует DecimalFormat
:
DecimalFormat fmt = new DecimalFormat("0.#");
fmt.setMaximumFractionDigits(Integer.MAX_VALUE);
assert "3".equals(fmt.format(3.0));
assert "3.4324".equals(fmt.format(3.4324));
Это, однако, локализовать десятичный разделитель (я получаю запятую, а не точку). Если это проблема, вы можете просто позвонить fmt.setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.ROOT))
.
Смежные вопросы
- 1. Показать валюты с разным числом знаков после запятой
- 2. Формат поплавка с минимально необходимым числом знаков после запятой
- 3. Выравнивание Excel клетки с различным числом знаков после запятой
- 4. Распечатайте номер с переменным числом знаков после запятой
- 5. BigDecimal разрыв с большим числом знаков после запятой
- 6. C++ If Else условия
- 7. if else условия проблемы
- 8. Переменная становится нулевой после условия if-else
- 9. знаков после запятой
- 10. Android Studio If Else Условия
- 11. javascript function if, else условия
- 12. Неожиданный токен else, а не выражение с запятой после if
- 13. if else условия с полем ввода таблицы
- 14. установка условия if else для фильтрации данных
- 15. Condense If-Else условия для циклов
- 16. Почему точки с запятой не используются после операторов if else?
- 17. Форматирование печати для знаков после запятой
- 18. Закрепление количества знаков после запятой
- 19. Округление на переменное число знаков после запятой
- 20. Управление количеством знаков после запятой
- 21. Clojure округления знаков после запятой
- 22. Специальный стиль XAML для знаков после запятой
- 23. Полное число знаков после запятой
- 24. Python поплавка знаков после запятой
- 25. всего 6 знаков после запятой для double
- 26. регулярное выражение для знаков после запятой
- 27. NSNumberFormatter PercentStyle знаков после запятой
- 28. Добавление двух знаков после запятой
- 29. проверить, является ли заданное значение положительным числом или float с максимальным количеством двух знаков после запятой.
- 30. Подсчет количества знаков после запятой в pascal
Можете ли вы привести пример того, как это было бы полезно? (имея в виду, что Java является статически типизированным языком) –
Я бы преобразовал их в строки и записывал их, поэтому я хотел бы, чтобы он сказал 3 вместо 3.0, но не 3 вместо 3.4324. Возможно, я делаю это совершенно неправильно. Haha – Wilson
. Тогда это вопрос форматирования для вывода? –