2011-11-07 50 views
1

所以我有一個叫做Rational的類的方法,它傳遞兩個整數,我想返回一個浮點數,但是這個方法返回0,我不知道爲什麼!將int轉換爲float並顯示結果不起作用?

public static float DisplayFloat(int numer, int denom) 
     { 
      float result = numer/denom; 
      return result; 

     } 

它獲取調用像這樣在我的主:

Console.WriteLine(Rational.DisplayFloat(12, 36)); 

任何想法?我沒有錯誤出現在Visual Studio中,所以我傻眼了。

回答

6

numerdenom都是整數,所以,當你被對方將一個結果是一個int;結果然後轉換爲浮點數,但已經太晚了,因爲您已經丟失了小數部分。如果你想要一個float結果,鑄就一個操作數做除法之前:

float result = (float)numer/denom; 
2

你需要轉換整數的一個浮動

public static float DisplayFloat(int numer, int denom) 
{ 
    float result = (float)numer/denom; 
    return result; 
} 
+0

Console.WriteLine(Rational.DisplayFloat(12,36,到Console.ReadLine())); public static void DisplayFloat(int numer,int denom,string spaces) float result =(float)numer /(float)denom; Console.WriteLine(「{0:0。」+ spaces +「}」,result); } 這有什麼問題?這就是我想要做的第一件事(謝謝你的幫助!!) – bruchowski