私が書いた
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)
の中にある関数の結果を返しています。したがって、関数プロトタイプの戻り型をからに
変更する必要があります。long
int
int
long