Подскажите, как конвертировать 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
Комментариев нет:
Отправить комментарий