HOWTO · Java

在 Java 中將 Int 轉換為 Double

本教程介紹了在 Java 中將 int 變數轉換為 double 的方法。

本頁內容

int 和 double 之間的區別是 double 用於儲存 64 位雙精度浮點值,而 int 用於儲存 32 位整數。

Java 中的 int

int 是一種原始資料型別,大多數系統為它分配 4 個位元組的記憶體。它用於儲存整數值,其運算比雙精度運算快。請參見下面的程式碼。

public class intOperation {
  public static void main(String[] args) {
    int a = 20;
    int b = 3;

    int c = a + b;
    System.out.println(c);
  }
}

輸出:

25

在上面的程式碼中,abint 型別的變數,分別儲存 20 和 3。兩個 int 變數的總和產生另一個 int 變數 23。

Java 中的 double

double 是一種原始資料型別,大多數系統都會為其分配 8 個位元組的記憶體。它用於儲存浮點值(值為小數或以小數結尾的值)。系統對 double 的算術運算比 int 慢。請參見下面的程式碼示例。

public class doubleOperation {
  public static void main(String[] args) {
    double a = 20.5;
    double b = 5.0;

    double c = a + b;
    System.out.println(c);
  }
}

輸出:

25.5

在上面的程式碼中,ab 是型別為 double 的變數,分別儲存 20.5 和 5.0。兩個雙變數的總和導致另一個雙變數 25.5。

隱式將 int 轉換為 double 而不使用 Java 中的型別轉換

將 int 隱式轉換為 double 依賴於 double 資料型別具有更大的記憶體大小和更大的範圍這一事實。請參見下面的程式碼:

public class intToDouble {
  public static void main(String args[]) {
    // the int value
    int a = 55;

    // conversion of int to double
    double b = a;

    System.out.println(b);
  }
}

輸出:

55.0

通過使用 Java 中的型別轉換將 Int 隱式轉換為 Double

就像在前面的方法中所做的一樣,我們使用賦值運算子,但是將其強制轉換為 double 型別。請參見下面的程式碼:

public class intToDouble {
  public static void main(String args[]) {
    // the int value
    int a = 55;

    // conversion of int to double
    double b = (double) a;

    System.out.println(b);
  }
}

輸出:

55

使用 Java 中的 Double Wrapper 類將 Int 轉換為 Double

在這種方法中,我們使用 double 包裝器類的 valueOf() 方法。這種方法是直接的,易於重複實現。它以 int 作為引數,並返回 double 值。請參見下面的程式碼。

public class intToDouble {
  public static void main(String args[]) {
    // the int value
    int a = 55;

    // conversion of int to double
    double b = Double.valueOf(a);

    System.out.println(b);
  }
}

輸出:

55.0

依靠 Java 的自動型別識別進行轉換

這是一種直接方法,其中我們將 int 變數與 double 值相乘以得到雙精度的結果。請參見下面的程式碼。

public class intToDouble {
  public static void main(String args[]) {
    // the int value
    int a = 55;

    // conversion of int to double
    double b = 1.0 * a;

    System.out.println(b);
  }
}

輸出:

55.0