2011-12-15 110 views
3

我正在研究一個應用程序,它需要利用給定數字的比率並將該比率乘以另一個數字。問題是我不能讓數字少於1來給我適當的小數比率,而是它給我零(當它應該是0.5)。返回一個小於1的數字

例子:

float number = 1/2; // This gives me zero 
double number = 1/2; // This also gives me zero 

回答

4

試試這個

float number = 1.0/2.0; 

記住1int,所以你基本上是採取

(int)1/(int)2 

返回

(int)0 

要鑄造的int小號變量,也

float number = (float)numerator/(float)denominator; 
+0

所以,如果他們實際上是詮釋變量,我該如何將它們轉換爲浮動像這樣(1.0)?所以,float number = currentInt/previousInt; – 2011-12-15 06:21:41

6

如果不指定所使用的整數,這意味着結果轉換對LHS類型之前整數精度執行計算小數。你想做的在代碼中使用硬編碼的數字時,以下幾點:

float number = 1.0f/2.0f; 
double number = 1.0/2.0; 

如果您的目標是使用整型變量的操作時,你會想將它們轉換成你想要的類型你的結果。

相關問題