在 Java 中將 Double 轉換為浮點數
在本教程中,我們將學習如何在 Java 中將雙精度值轉換為浮點數。Double 和 float 型別用於在 Java 中儲存實數或浮點數,但 double 資料型別比 float 更精確。請記住,浮點數的預設資料型別是 double。
在 Java 中使用 TypeCasting 將 Double 轉換為 Float
要定義浮點型別,我們必須使用字尾 f
或 F
,而字尾 d
或 D
是可選的。float 的預設值是 0.0f
,而 double 的預設值是 0.0d
。預設情況下,浮點數在 Java 中被視為雙精度數。
TypeCasting 是我們將一種原始資料型別的值分配給另一種型別的過程。我們知道 double 是比 float 更大的資料型別,所以我們需要向下轉換它。要將函式 double
型別轉換為 float
,我們需要在十進位制值之前的括號中提及 float
關鍵字。
我們將看到 double 資料型別需要更多記憶體來儲存雙精度數字,並且在輸出中更準確。相比之下,float 資料型別需要更少的空間來儲存單精度數字,並提供最多六位小數的結果。因此,我們明確地將雙 d
型別轉換為浮動 f
。
public class JavaDoubleToFloat {
public static void main(String args[]) {
double d1 = 1.0;
double d2 = 3.0;
double d = d1 / d2;
System.out.println("double d : " + d);
float f = (float) d;
System.out.println("float f : " + f);
}
}
輸出:
double d : 0.3333333333333333
float f : 0.33333334
在 Java 中使用 Double.floatValue()
將 Double 轉換為 Float
在 Java 中將 double 值轉換為 float 資料型別的另一種方法是使用包裝類 Double。此類將原始資料型別 double
包裝在一個物件中。
在這裡,我們建立了一個新的 double 物件 db
,在建構函式中使用 new
關鍵字傳遞了 double 變數 d
;它代表原始的 double 引數。我們使用了 floatValue()
方法,它在縮小原始轉換範圍後將 double 資料型別的值作為浮點數返回。
使用窄基元轉換,我們意識到我們試圖將較大的資料型別儲存到較小的資料型別中,因此可能會丟失一些資訊和精度。在輸出中,我們可以看到 double 被轉換為 float 並且不太精確。
public class JavaDoubleToFloat {
public static void main(String args[]) {
double d1 = 1.0;
double d2 = 3.0;
double d = d1 / d2;
System.out.println("double d : " + d);
Double db = new Double(d);
float f1 = db.floatValue();
System.out.println("float f1 : " + f1);
}
}
輸出:
double d : 0.3333333333333333
float f1 : 0.33333334
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn相關文章 - Java Double
- 在 Java 中將 Int 轉換為 Double
- 在 Java 中將 Long 轉換為 Double
- Java 中的雙精度
- 在 Java 中比較雙精度數
- Java 中的浮點數和 Double 資料型別
- 在 Java 中將 Double 轉換為字串