我一直沒有能夠在網站上找到這些規則,(當然,因爲我用google搜索錯誤的東西),所以我在這裏問。java數學結果類型
int除以int並存儲在double中總是首先存儲舍入的整數。我能夠找到的唯一方法就是在分割之前將兩個值都賦值爲double。有一個更好的方法。
另外,返回類型的規則在哪裏?
我一直沒有能夠在網站上找到這些規則,(當然,因爲我用google搜索錯誤的東西),所以我在這裏問。java數學結果類型
int除以int並存儲在double中總是首先存儲舍入的整數。我能夠找到的唯一方法就是在分割之前將兩個值都賦值爲double。有一個更好的方法。
另外,返回類型的規則在哪裏?
在編程語言中,有兩種類型的操作:
如果2個操作數是整數類型,整數操作被執行。
如果任何人的2個操作數是浮點型,則執行浮點型操作。
這樣的:
Int/Int --------> int
Double/Int -----> Double
Double/Double --> Double
其實,沒有不一定有更好的辦法。用int除int得到一個int。所以,假設你除以5/2 - 因爲沒有2到3之間的整數,所以你得到2.如果你想要一個浮點結果,你需要讓它們中的一個成爲浮點類型;而不是
int f=5, t=2;
double result;
result = f/t;
使用類型轉換告訴它讓它
result = f/(double) t ;
「我想浮點除法該死!」。
你只需要投一個參數,使結果的雙
int a,b;
double d = (double) a/b;
一個更簡單的方法是使用從雙打開始。
double a, b;
double d = a/b;
double
可以表示沒有舍入誤差每個可能int
值。
肯定有一個更好的辦法。只需將其中一個投射到double
,另一個將自動轉換。
類型的表達是由參數確定被存儲在它之前,從而其他的答案狀態,一個int
由int
分割產生一個int
,這將僅然後被存儲爲double
。請注意,這不是特定於Java,它發生在我知道的每一種語言中,都是整數除法。