什么是与旧的CInt()VB方法对应的VB.NET方法?

Max*_*Max 3 .net vb.net methods double type-conversion

我不想在我的代码中使用旧的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
Run Code Online (Sandbox Code Playgroud)

Ree*_*sey 9

您也可以在VB.NET中使用CInt.它是VB.NET编译器支持的标准类型转换函数.没有理由避免它.

但是,几乎每个类型转换操作都会入到最接近的整数(包括其他方法,如Convert.ToInt32等),而不是截断.您可以使用Int或Fix强制截断(对负数有不同的行为).

请注意,如果您希望避免使用VB.NET特定的转换例程,则可以使用Math.TruncateMath.Floor执行与Int/Fix相同的操作.


在旁注 - Visual Basic 6.0中的CInt也执行舍入.VB.NET中的行为CInt与Visual Basic 6.0中的行为相同.