2017-01-18 7 views
0

をダブルまたはfloatにキャストインテグラ除算結果:ICAST:私は私のコードでソナーを実行すると、私はICAST以下しまっ

float halfCanvasWidth = canvas.getWidth()/2f; 

canvas.getWidthを(ダブルまたはfloatにキャストインテグラ除算結果は)私がどのように整数これを正しくキャストする

+0

** canvas.getWidth()を** float **にキャストしますか?私はこのソナーを試みた – msagala25

答えて

0

canvas.getWidth()をjavaで浮動小数点型にキャストする場合は、これを試してみてください:

float halfCanvasWidth = (float)canvas.getWidth()/2f; 
+0

が依然としてエラー を示しますこれは説明 あるICAST_IDIV_CAST_TO_DOUBLE 説明このコードは整数除算倍増する操作やフロートの結果をキャスト。整数を除算すると、結果はゼロに最も近い整数値に切り捨てられます。結果が二重にキャストされたという事実は、この精度が保持されていたはずであることを示唆しています。おそらく、分割を実行する前にオペランドの一方または両方を倍精度化することを意味しました。 – Nikhil

+0

次に、この 'float halfCanvasWidth =((float)canvas.getWidth())/ 2f;'を試してみてください。 – msagala25

+0

はソナーがまだエラーを表示しています – Nikhil

関連する問題