CodeGym /Java Blog /Toto sisi /如何在 Java 中將 int 轉換為 double
John Squirrels
等級 41
San Francisco

如何在 Java 中將 int 轉換為 double

在 Toto sisi 群組發布

簡要介紹 Java 中的 int 和 double 類型

int是整數的原始 Java 類型(例如 -25、0、1828182845)。這種類型使用 32 位來存儲變量值。int數的取值範圍是-231到231 - 1 或者說是-2147483648到2147483647。Java中的double類型表示浮點數,在內存中分配64位,取值範圍是-1.7 *10308 到 1.7*10308。如果您以相同的形式表示 int 的範圍,它將是 -2*109 до +2*109。我認為很明顯,任何數量的 int 類型都適合分配給多個 double 原始類型的內存。此外,任何整數都可以表示為小數部分為零的小數。從數學的角度來看,毫無疑問:5 = 5.0 or -57.0 = -57。

將 int 轉換為 double

從 Java 的角度來看,double 和 int 類型也是兼容的。由於將 int 轉換為 double 是關於將更大轉換為更小,因此這種轉換稱為隱式類型套管或加寬。通過將 int 值分配給 double 變量,您可以在 Java 中自動將 int 轉換為 double。讓我們看一個類型轉換的代碼示例:

public class intToDouble {
   public static void main(String[] args) {
       int myInt1 = 10;
       int myInt2 = 2147483647;
       double myDouble1, myDouble2;
       System.out.println("my integers are: " + myInt1 + ", " + myInt2);
       myDouble1 = myInt1;
       myDouble2 = myInt2;
       System.out.println("after typecasting/widening to double: " + myDouble1 + ", " + myDouble2);
   }
}
這是輸出:
我的整數是: 10, 2147483647 在類型轉換/擴大到雙倍之後:10.0, 2.147483647E9
注:這裡的E9是109的意思,叫科學記數法。另請注意,雙精度數通常用句點分隔小數部分。如果您聲明一個雙精度變量並在其中放入一個值,則沒有必要這樣做,但在輸出中雙精度數將始終具有小數部分,即使它為零。

使用中性數值運算將 int 轉換為 double

此外,Java 中所有對不同類型變量的數值運算都會導致類型加寬。也就是說,操作的結果將是一個更廣泛的類型。因此,要從 int 轉換為 double,可以使用“中性”操作。例如,將 int 乘以 1.0(雙精度數)或將 0.0 添加到 int。以下是此類類型轉換的示例:

public class intToDouble {
   public static void main(String[] args) {
       double a = 1;  //you can also write 1.0 here. If you print it out it will be 1.0
       int b = 5, x = 7;
       System.out.println(x + 0.0);
       System.out.println(a*b);
   }
}
輸出是:
7.0 5.0
順便說一句,您不僅可以將 int 轉換為 double,還可以將所有數字原始類型轉換為 double。以下是可能的從小到大的轉換順序:
Byte -> Short -> Char -> Int -> Long -> Float -> Double
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION