3

コードで古い Visual Basic メソッドを使用したくありません。また、古い CInt() Visual Basic メソッドに対応する最新の VB.NET メソッドについて混乱しています。

例えば、

Dim n1 as Double : n1 = CInt(2.1111111) 'Gets only 2 without rounding it
Dim n2 as Double : n2 = CInt(2.7777777) 'Get only 2 without rounding it
4

1 に答える 1

9

CIntは VB.NET でも使用できます。VB.NETコンパイラがサポートする標準の型変換関数です。それを避ける理由はありません。

ただし、ほぼすべての型変換操作は、切り捨てではなく、最も近い整数 ( Convert.ToInt32などの他のメソッドを含む) に丸められます。Int または Fix (負の数に対して異なる動作をします) を使用して強制的に切り捨てることができます。

VB.NET 固有の変換ルーチンを避けたい場合は、Math.TruncateMath.Floorを使用して Int/Fix と同じことができることに注意してください。


余談ですが、Visual Basic 6.0 の CIntも丸めを実行していました。VB.NET for の動作CIntは、Visual Basic 6.0 と同じです。

于 2012-06-15T16:49:17.170 に答える