Конвертировать double в int

340
30 января 2017, 16:57

Подскажите, как конвертировать double в int?

Answer 1

Сама конвертация не сложна:

double doubleValue = 0.0001;
int value = (int) doubleValue;

Т.е. инструкция в общем виде выглядит так:

type v1 = (type) v2;

Но тут, есть подводные камни, а именно - тип int содержит значения в диапазоне от -2147483648 до 2147483647, притом что они являются целочисленные, т.е. без дробной части. А double содержит числа в диапазоне от 4.9E-324 до 4.9E-324. Т.е. при конвертации может произойти переполнение и/или не учитывание дробной части.

Для более гибкого преобразования стоит использовать классы BigDecimal и BigInteger.

Answer 2

Если нужно округлять вверх или вниз, используйте Math.round()

double a = 1.8;
int b = Math.round(a); // b = 2
Answer 3
Double mDouble = 0.25;
int mInt = (int)mDouble;
READ ALSO
Тормозит RecyclerView при прокрутке (скроллинге)

Тормозит RecyclerView при прокрутке (скроллинге)

Я не могу разобраться в чем причина тормозов при прокрутке моего спискаПрокрутка вызывается методом mRecyclerView

530
Вызов FragmentDialog в RecyclerViewAdapter

Вызов FragmentDialog в RecyclerViewAdapter

Добрый день! Имеется такая ситуация: использую RecyclerView+CardViewНужно при нажатии на карточку открывать DialogFragment

363
Конкатенация это плохой способ?

Конкатенация это плохой способ?

В книге вычитал, что приведение int в String с использованием конкатенации, например, где а это int

345
Панель открытых окон

Панель открытых окон

Скажите пожалуйста, как на java server face реализовать панель открытых окон? Строим учетную программу, нужно открыть несколько окон одновременно...

369