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

Как Преобразовать double В int В Java?

Эта статья первоначально опубликована по адресу https://coderolls.com/convert-double-to-int/ В этой статье… Помеченный java.

Эта статья первоначально опубликована по адресу Эта статья первоначально опубликована по адресу

В этой статье мы увидим, как мы можем преобразовать double в int.

В программировании на Java у вас будет двойное примитивное значение (пример 82.14), но для выполнения дальнейших операций вам потребуется значение int (пример 82). итак, давайте посмотрим, как преобразовать double в int в java.

Существует три способа преобразования double в int. Я перечислю их все ниже, а затем мы рассмотрим их один за другим.

  1. преобразование double в int – с помощью приведения типов
  2. преобразуйте double в int – с помощью Math.round()
  3. преобразовать double в int – с помощью Двойной. Значение()

Возможно, вам захочется посетить: Как Преобразовать Целое Число В Строку В Java

1. преобразуйте double в int – с помощью приведения типов

Мы знаем, что double – это 64-разрядное примитивное значение, а int – 32-разрядное примитивное значение. Итак, чтобы преобразовать double в int, мы можем уменьшить значение double до int.

Ниже я привел простой пример, в котором показано, как преобразовать double в int с помощью приведения типов.

/**
 * A java program to convert double to int using typecasting 
 * @author Gaurav Kukade at coderolls.com
 **/
public class DoubleToIntUsingTypecasting{

     public static void main(String []args){

        double doubleValue = 82.14; // 82.14

        System.out.println("doubleValue: "+doubleValue);

        //typecase double to int
        int intValue = (int) doubleValue; // 82

        System.out.println("intValue: "+intValue);
     }
}

Выход:

doubleValue: 82.14
intValue: 82

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

В случае 82.14 мы получим значение int, равное 82, что выглядит нормально. Но когда у нас будет двойное значение, например 82,99, мы получим только 82 и потеряем 0,99, что равно ~1.

Это может создать проблему в ваших расчетах.

В случае 82,99 его следует округлить до 83, а затем преобразовать в int.

Это невозможно при приведении типов, но наше следующее решение может этого достичь.

2. преобразуйте double в int – с помощью функции Math.round()

Метод Math.round() округлит значение с плавающей запятой до ближайшего значения long. Затем мы можем ввести его в int.

Ниже я привел простую java-программу, которая показывает, как преобразовать double в int с помощью метода Math.round() .

/** 
 * A java program to convert double to int using 
 * Math.round() method 
 * @author Gaurav Kukade at coderolls.com
 **/
public class DoubleToIntUsingRoundMethod{

     public static void main(String []args){

        // case 1
        double doubleValue = 82.14; // 82.14

        System.out.println("doubleValue: "+doubleValue);

        //typecase double to int
        int intValue = (int) Math.round(doubleValue); // 82

        System.out.println("intValue: "+intValue);

        System.out.println();

        // case 2
        double nextDoubleValue = 82.99; // 


        System.out.println("nextDoubleValue: "+nextDoubleValue);

        // Math.round(nextDoubleValue) returns long value
        //typecase long to int
        int nextIntValue = (int) Math.round(nextDoubleValue); // 83

        System.out.println("nextIntValue: "+nextIntValue);              
     }
}

Выход:

doubleValue: 82.14
intValue: 82

nextDoubleValue: 82.99
nextIntValue: 83

3. преобразуйте double в int – используя Double.int Значение()

Таким образом, мы преобразуем примитивное значение double в класс-оболочку Double , а затем сможем использовать метод intValue() класса-оболочки Double .

Этот метод не округляет значение перед преобразованием его в значение в Интернете. Он удалит цифры после десятичной точки.

Ниже я привел простую java-программу, которая показывает, как преобразовать double в int с помощью Double. intValue() метод.

/**
 * 
 * A java program to convert double to int using 
 * Double.intValue() method  
 * @author Gaurav Kukade at coderolls.com
 * 
 **/
public class DoubleToIntUsingIntValueMethod{

     public static void main(String []args){

        double doubleValue = 82.14; // 82.14

        System.out.println("doubleValue: "+doubleValue);

        //create Double wrapper object
        Double doubleValueObject = new Double(doubleValue);


        //typecase double to int
        int intValue = doubleValueObject.intValue(); // 82

        System.out.println("intValue: "+intValue);
     }
}

Выход:

doubleValue: 82.14
intValue: 82

Вывод

Мы можем преобразовать double в int в java, используя три приведенных ниже способа.

1. преобразуйте double в int – с помощью приведения типов

В этом методе мы вводим двойное значение в значение int, как указано ниже,

int intValue = (int) Math.round(doubleValue);

Но таким образом мы потеряем значение после запятой. Он не будет выполнять округление перед преобразованием double в int.

2. преобразуйте double в int – используя Математический раунд()

Таким образом, мы используем метод Math.round() для округления.

Метод Math.round() округляет двойное значение до ближайшего значения long, а затем мы можем ввести значение long в значение int, как указано ниже.

int nextIntValue = (int) Math.round(nextDoubleValue);

3. преобразуйте double в int – используя Двойной. Значение()

Таким образом, мы преобразуем значение double в класс-оболочку Double , а затем используем метод Double.intValue() для получения значения int.

//create Double wrapper object
Double doubleValueObject = new Double(doubleValue);

//typecase double to int
int intValue = doubleValueObject.intValue(); 

Таким образом, мы также потеряем цифры после десятичных знаков.

Итак, вот как мы преобразуем double в int в java. Вы можете проверить все три ( DoubleToIntUsingTypecasting.java , Двойное использование метода обхода.java , Метод двойного указанияintvaluemethod.java ) программы на GitHub

Вы можете прочитать больше о строка в int и преобразование int в строку преобразование.

Вы можете посетить мой канал YouTube “coderolls” , чтобы найти больше видеоуроков.

Если вы сочли эту статью стоящей, поддержите меня подарив чашечку кофе ☕

Статьи по теме

Оригинал: “https://dev.to/gauravkukade/how-to-convert-double-to-int-in-java-38mf”