213,3333333...
である必要がありますが、320.0
です。どうして?整数を2倍に分割する方法は?
int integ = 320;
System.out.println((double) integ/(double) (3/2));
私はダブルを使用しています。なぜ整数を取得するのですか?
213,3333333...
である必要がありますが、320.0
です。どうして?整数を2倍に分割する方法は?
int integ = 320;
System.out.println((double) integ/(double) (3/2));
私はダブルを使用しています。なぜ整数を取得するのですか?
整数演算で実行される除算の後にdouble
にキャストしています。浮動小数点演算を強制する最も簡単な方法は、オペランドの一つの二重を作ることである:
int integ = 320;
System.out.println((double) integ /(3.0/2));
または入力値が変数であれば:
int x = 3;
int y = 2;
System.out.println((double) integ /(1.0*x)/y);
あなたはに操作の結果をキャストするべきではありませんダブル。代わりに、すべてのオペランドを強制的に倍精度にします。 (3/2)は(3.0/2.0)でなければなりません – JohannisK
11.7kの評判を持つ人がこの質問をしているのを奇妙に思っています。 –
「3/2」は「1」である。 '(double)(3/2)'は '(double)1'であり、' 1.0'です。 '1.5'を使いたい場合、' 1.5'や '3.0/2'を使用する場合 – khelwood