在此程序中,我們將學(xué)習(xí)如何在Java中將雙精度 double 變量轉(zhuǎn)換為整數(shù)(int)。
要理解此示例,您應(yīng)該了解以下Java編程主題:
class Main { public static void main(String[] args) { //創(chuàng)建 double 變量 double a = 23.78D; double b = 52.11D; //將double轉(zhuǎn)換為int //使用顯示強(qiáng)制類型轉(zhuǎn)換 int c = (int)a; int d = (int)b; System.out.println(c); // 23 System.out.println(d); // 52 } }
在上面的示例中,我們有double類型變量a和b。注意這一行,
int c = (int)a;
在此,較高的 double 數(shù)據(jù)類型 將轉(zhuǎn)換為較低的 int 數(shù)據(jù)類型。因此,我們需要在括號(hào)內(nèi)明確使用 int。
這稱為窄化類型轉(zhuǎn)換。要了解更多信息,請?jiān)L問Java 類型轉(zhuǎn)換。
注意:當(dāng) double 的值小于或等于int(2147483647)的最大值時(shí),此過程有效。否則,會(huì)出現(xiàn)數(shù)據(jù)被截?cái)鄟G失的情況。
我們還可以使用Math.round()方法將 double 類型變量轉(zhuǎn)換為 int 類型變量 。例如,
class Main { public static void main(String[] args) { //創(chuàng)建 double 變量 double a = 99.99D; double b = 52.11D; //將double轉(zhuǎn)換為int //使用類型轉(zhuǎn)換 int c = (int)Math.round(a); int d = (int)Math.round(b); System.out.println(c); // 100 System.out.println(d); // 52 } }
在上面的示例中,我們創(chuàng)建了兩個(gè)double類型,名為 a 和 b 的變量。注意這一行,
int c = (int)Math.round(a);
這里,
Math.round(a) - 將decimal值轉(zhuǎn)換為long值
(int) - 使用類型轉(zhuǎn)換將long值轉(zhuǎn)換為int值
Math.round()方法將十進(jìn)制值四舍五入為最接近的long值。要了解更多信息,請?jiān)L問 Java Math round()。
我們還可以使用intValue()方法將Double類的實(shí)例轉(zhuǎn)換為int。 例如
class Main { public static void main(String[] args) { //創(chuàng)建Double的實(shí)例 Double obj = 78.6; //將obj轉(zhuǎn)換為int //使用intValue() int num = obj.intValue(); //打印int值 System.out.println(num); // 78 } }
在這里,我們使用了intValue()方法將Double對象轉(zhuǎn)換為int。
這里,Double是Java的包裝類。要了解更多信息,請?jiān)L問Java包裝類。