Java程式:將Double轉換為數值基本資料型別


假設我們有一個double型別的數值,我們的任務是將其轉換為其他數值基本資料型別。要執行此操作,我們需要顯式轉換,因為double是Java中最大的基本資料型別。將較大資料型別轉換為較小資料型別的過程稱為顯式轉換,也稱為縮小轉換

資料型別用於指定儲存在不同變數中的值的型別。在Java中,有8種基本資料型別,其中6種是數值型別,包括double、float、int、long、byte和short。

示例場景

Input: double obj = 39.45;
Output: result = 39

將"double"轉換為"int"

double是一種表示浮點數的資料型別,而int表示整數值。要將double轉換為int,我們可以使用顯式型別轉換。在此轉換過程中,小數部分將被刪除。

示例

在下面的示例中,我們將double轉換為int基本型別。

public class Main {
   public static void main(String[] args) {
      double doubleTypeVal = 10.04;
      System.out.println("Before converting: " + doubleTypeVal);
      int intTypeVal = (int)doubleTypeVal;
      System.out.println("After converting to int: " + intTypeVal);
   }
}

以上程式碼的輸出如下:

Before converting: 10.04
After converting to int: 10

將"double"轉換為"byte"

byte資料型別表示-128到127之間的整數值。將double轉換為byte時,小數部分將被截斷,結果將儲存為帶符號的8位整數。

示例

在此示例中,給定的double值超過了byte資料型別的範圍。因此,結果將被環繞到負值。

public class Main {
   public static void main(String[] args) {
      double doubleTypeVal = 159.0454;
      System.out.println("Before converting: " + doubleTypeVal);
      byte byteTypeVal = (byte)doubleTypeVal;
      System.out.println("After converting to byte: " + byteTypeVal);
   }
}

執行以上程式碼後,將產生以下結果:

Before converting: 159.0454
After converting to byte: -97

將"double"轉換為"short"

當我們將double轉換為short時,小數部分將被丟棄。

示例

下面的示例說明如何將double轉換為short。

public class Main {
   public static void main(String[] args) {
      double doubleTypeVal = 592.04;
      System.out.println("Before converting: " + doubleTypeVal);
      short shortTypeVal = (short)doubleTypeVal;
      System.out.println("After converting to short: " + shortTypeVal);
   }
}

執行此程式碼後,將顯示以下結果:

Before converting: 592.04
After converting to short: 592

將"double"轉換為"float"

與double資料型別類似,float也用於儲存浮點數。但是,double的大小大於float。因此,我們可以使用顯式型別轉換將double轉換為float。

示例

在此示例中,我們將double轉換為float資料型別。

public class Main {
   public static void main(String[] args) {
      double doubleTypeVal = 159.0454;
      System.out.println("Before converting: " + doubleTypeVal);
      float floatTypeVal = (float)doubleTypeVal;
      System.out.println("After converting to float: " + floatTypeVal);
      // checking type
      System.out.println("Type of " + floatTypeVal + ": " + ((Object)floatTypeVal).getClass().getSimpleName());
    }
}

執行此程式碼後,將列印以下結果:

Before converting: 159.0454
After converting to float: 159.0454
Type of 159.0454: Float

將"double"轉換為"long"

long資料型別在我們需要比int提供的範圍更寬的值時使用。在將double轉換為long的過程中,double值的小數部分將被丟棄。

示例

以下程式碼說明如何將double轉換為long。

public class Main {
   public static void main(String[] args) {
      double doubleTypeVal = 159.0454;
      System.out.println("Before converting: " + doubleTypeVal);
      long longTypeVal = (long)doubleTypeVal;
      System.out.println("After converting to long: " + longTypeVal);
      // checking type
      System.out.println("Type of " + longTypeVal + ": " + ((Object)longTypeVal).getClass().getSimpleName());
    }
}

以上程式碼的輸出如下:

Before converting: 159.0454
After converting to long: 159
Type of 159: Long

更新於:2024年7月30日

1K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告