Math.round(1/2)Java で int または double として宣言する必要がありますか? どちらも正しい場合、どちらがより正しいですか?
また、なぜ Eclipse が Math.round(1/2) = 0.0 であるのに Math.round(0.5) = 1.0 と言っているのですか?
どんな助けでも大歓迎です!
コンパイラは、式 1/2 を評価することから始めます。これらの数値は両方とも整数であるため、整数演算を行います。整数では、1 を 2 で割ると 0 になります。次に、Math.round() に渡すために 0 を double にキャストします。
正しい答えが必要な場合は、double を渡す必要があります。これは、1/2 の代わりに 1.0/2.0 を使用して行うことができます。
1/2は整数式なので 0 です。
浮動小数点値が必要な場合は、1.0/2.0(または単に1./2) と言います。