Рубрики
Без рубрики

Преобразование двойного в длинный в Java

Изучите различные методы преобразования из двойного в длинный на Java

Автор оригинала: baeldung.

1. Обзор

В этом учебнике мы изумим различные методы для преобразования из двойной долго на Яве.

2. Использование типа литья

Давайте проверим простой способ бросить двойной долго с помощью литого оператора:

Assert.assertEquals(9999, (long) 9999.999);

Применение (длинный) литые оператора на двойной значение 9999.999 результаты в 9999 году.

Это сужение примитивного преобразования потому что мы теряем точность. Когда двойной отбрасывает на долго , результат останется прежним, за исключением десятичной точки.

3. Использование Double.longValue

Теперь давайте рассмотрим Двойной встроенный метод longValue для преобразования двойной к долго :

Assert.assertEquals(9999, Double.valueOf(9999.999).longValue());

Как видим, применяя longValue метод на двойной значение 9999.999 дает 9999. Внутренне, longValue метод выполняет простой литый .

4. Использование математических методов

Наконец, давайте посмотрим, как преобразовать двойной долго с помощью круглые, ceil, и методы из Математика класс:

Давайте сначала проверим Мат.раунд. Это дает значение, близкое к аргументу:

Assert.assertEquals(9999, Math.round(9999.0));
Assert.assertEquals(9999, Math.round(9999.444));
Assert.assertEquals(10000, Math.round(9999.999));

Во-вторых, Математика ceil даст малейшее значение, которое больше или равно аргументу:

Assert.assertEquals(9999, Math.ceil(9999.0), 0);
Assert.assertEquals(10000, Math.ceil(9999.444), 0);
Assert.assertEquals(10000, Math.ceil(9999.999), 0);

С другой стороны, Мат.этаж делает как раз противоположность Math.ceil. Это возвращает наибольшее значение, которое меньше или равно аргументу:

Assert.assertEquals(9999, Math.floor(9999.0), 0);
Assert.assertEquals(9999, Math.floor(9999.444), 0);
Assert.assertEquals(9999, Math.floor(9999.999), 0);

Обратите внимание, что оба Мат.Вейл и Мат.раунд вернуть двойной значение, но в обоих случаях возвращенное значение эквивалентно долго ценность.

5. Заключение

В этой статье мы обсудили различные методы преобразования двойной долго на Яве. Целесообразно иметь представление о том, как каждый метод ведет себя, прежде чем применять его к критически важному коду.

Полный исходный код для этого учебника доступен более на GitHub .