2013-03-09 35 views
1

我想在java中劃分兩個數字 - 更具體地說,我有800/9177分數,並且想將它轉換爲double或float或w/e。我的問題是當我嘗試獲得分數的值,我得到0.小數字java

任何人都知道如何做到這一點?

我的代碼:

double dt = 800/9177; 
float ft = 800/9177; 
double dw = 800/122; 
System.out.println("dt : " + dt + " ft: " + ft + " dw " + dw + " 800/9177 " + (800/9177)); 

它打印DT:0英尺:0 DW:6.09177分之8000 所以除了DW所有我的級分是0

回答

3

最簡單的是

double dt = 800.0/9177; 

double dt = (double) 800/9177; 
+0

當然 - 謝謝! – user1090614 2013-03-09 22:08:23

0

使用數據類型int將導致int丟失數據。使用doublefloat數據類型從一開始就這樣

double dt = 800/9177.0; 
float ft = 800/9177.0f; 
double dw = 800/122.0; 

雙號RCAN這樣

double d = (double) 123; 
double d = 123.0; //default floating point type is double. use f for float 
double d = 123d; 
0
double dt = 800D/9177; 

如果分割兩個整數來指定,你會得到一個整數除法。要獲得雙重劃分,其中一個操作數必須是雙精度。