Option StrictはVBアプリケーションでオフでしたので、私はこれをオンにしました。私はどうなるのC#でDoubleを整数に変換する最良の方法は何ですか
pnlWait.Top = (Height - pnlWait.Height)/2
:
pnlWait.Top = (int)(Height - pnlWait.Height)/2;
しかし、これはVBでは動作しません。私は今、私が解決する方法について不明な点が午前多少の誤差があります。私はDecimal.ToInt32
を試しましたが、除算でDouble
を作成していて、Double.ToInt32
が存在しないために文句を言うのです。 Interger.Parse
にはString
が必要なので、これは何も良いことではありません。私は、彼らが効率的かもしれないと思うので、私はCType
かDirectCast
がいいかもしれないと思うが、これらの方法は、多くのオブジェクト上で動作します
pnlWait.Top = Integer.Parse(((Height - pnlWait.Height)/2).ToString) 'Yeah, right!
。
私はいつもConvert.ToInt32([double]) – soohoonigan
を使って整数除算を使用します: 'pnlWait.Top =(Height - pnlWait.Height)\ 2' – Plutonix
参考資料[タイプ変換関数(Visual Basic)](https://msdn.microsoft.com/en-us/library/s2dy91zy.aspx?f=255&MSPPError=-2147217396)は、言語で実装された変換演算子を使用し、コンパイラに変換を選択させることを推奨しています方法。私は、最良の変換方法を構成するものについていくらか矛盾しています。いくつかのメソッドは、あなたが知っていなければならない丸めと、パフォーマンスに影響を与えるコールチェーンに従うものがあります。私はあなたが使用するツールを知ることをお勧めします。すなわちRTFM。 :) – TnTinMn