Страницы

Поиск по вопросам

вторник, 30 октября 2018 г.

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

Подскажите, как конвертировать 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

Комментариев нет:

Отправить комментарий