私が書いた
return java.lang.Math.round(someVariable*1.234234);
intを返す関数でeclipseに変換しますが、このようにするために(int)を含める必要がありました
return (int) java.lang.Math.round
これ(int)は何をしていますか?
ありがとう
私が書いた
return java.lang.Math.round(someVariable*1.234234);
intを返す関数でeclipseに変換しますが、このようにするために(int)を含める必要がありました
return (int) java.lang.Math.round
これ(int)は何をしていますか?
ありがとう
ドキュメントを見ると、
http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html
Math.roundパラメータがfloatでない場合、longを返します。
したがって、longをintにキャストする必要があります。
このMath.round(double a)メソッドlongは、よりも大きいタイプのaを返しますint。したがって、あなたの行動は情報の損失をもたらす可能性があります。キャストの助けを借りて、コンパイラーにそのことを認識していることを明示的に伝える必要があります。
でMath.round呼び出されると、doubleが返されますlong。long結果をタイプにキャストするためにありintます...
返された変数のデータ型であるをにキャストしlongていintます。
ラウンドには2つのオーバーロードがあります。
ロングラウンド(ダブルa);
と
int round(float a);
あなたが書いたconstはdoubleなので、floatにキャストする必要があります。試す:
return java.lang.Math.round(someVariable*1.234234f);
を必要とする関数java.lang.Math.round(double a)の中にある関数の結果を返しています。したがって、関数プロトタイプの戻り型をからに
変更する必要があります。longintintlong