Подскажите, как конвертировать double в int?
Сама конвертация не сложна:
double doubleValue = 0.0001;
int value = (int) doubleValue;
Т.е. инструкция в общем виде выглядит так:
type v1 = (type) v2;
Но тут, есть подводные камни, а именно - тип int содержит значения в диапазоне от -2147483648 до 2147483647, притом что они являются целочисленные, т.е. без дробной части. А double содержит числа в диапазоне от 4.9E-324 до 4.9E-324. Т.е. при конвертации может произойти переполнение и/или не учитывание дробной части.
Для более гибкого преобразования стоит использовать классы BigDecimal и BigInteger.
Если нужно округлять вверх или вниз, используйте Math.round()
double a = 1.8;
int b = Math.round(a); // b = 2
Double mDouble = 0.25;
int mInt = (int)mDouble;
Продвижение своими сайтами как стратегия роста и независимости