Java double資料型別


double資料型別使用64位來儲存浮點數。double值也稱為雙精度浮點數。

它可以表示一個最小為4.9 x 10^-324,最大為1.7 x 10^308的數位。它可以是正的或負的。

所有實數被稱為double字面量。 double字面量可以可選地以dD結尾,例如1.27d

字尾dDdouble字面量中是可選的。19.719.7d代表相同的double字面量。

Double字面量

double字面量值可以用以下兩種格式表示:

  • 十進位制數位格式
  • 科學計數法

十進位制數位格式的double字面量值範例如下:

double   d1  = 8D ;
double   d2  = 8.; 
double   d3  =  8.0; 
double   d4  =  8.D; 
double   d5  =  78.9867; 
double   d6  =  45.0;

8是一個int字面量,而8D88.0double字面量。

還可以使用科學記數法表達double字面量。

double   d1  = 32.5E-1; 
double   d2  = 0.325E+1; 
double   d3  = 0.325E1; 
double   d4  = 0.0325E2; 
double   d5  = 0.0325e2; 
double   d6  = 32.5E-1D; 
double   d7  = 0.325E+1d; 
double   d8  = 0.325E1d; 
double   d9  = 0.0325E2d;

注意:double資料型別定義了兩個零,兩個無窮大和一個NaN。 它們由Double類中的常數表示。

下表列出了這些常數及其含義。

常數 含義
Double.POSITIVE_INFINITY 正無窮大的double型別
Double.NEGATIVE_INFINITY 負無窮大的double型別
Double.NaN 不是double型別的數值
Double.MAX_VALUE 可在double型別變數中表示的最大正值,等於1.7 x 10^308
Double.MIN_VALUE 大於零的最小正值,可在double型別變數中表示。等於4.9×10^-324。

可以將所有整型型別(intlongbyteshortchar)和float的值分配給double型別雙精度資料型別的變數,而不使用顯式強制轉換。

int num1 = 15;
double   salary = num1;                    
salary = 12345;                            
double   bigNum = Double.MAX_VALUE;  
bigNum = 1234L;                      
double   justAChar = 'A';      

double   dInf = Double.POSITIVE_INFINITY;
double   dNan = Double.NaN;

在將double值分配給任何整數資料型別(intlongbyteshortchar)的變數之前,必須將其轉換為整數型別。