2017-10-06 10 views
0

なぜ最初の行で7Twelfthsが期待される答え(0.5833)に評価されますが、3TwentySixthsはゼロと評価されますか?私はデータ型がdouble型であるため、3を26で除算する演算は小数であると仮定しましたが、演算を整数演算として行い、その応答をdoubleに変換して3TwentySixthsに格納するように見えます。さまざまなデータ型で数学演算が異なるのですか?

double sevenTwelfths = ((double) 7/12); 
    double threeTwentySixths = 3/26; 
+0

はいそれは異なります。 int/int - > int double/int - > double。 –

答えて

0

double sevenTwelfths =((double)7/12);最初の行に

これはあなたが

int型sevenTwelfths =((int型)7/12))は、例えば、二重にあなたの答えを変換する意味型キャストと呼ばれます。 アンサーがint型に変換するか、型変換をint型に変換するかを、12分の7に分けて返します。

関連する問題