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



我不想在我的代码中使用旧的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
您也可以

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

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

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


附带说明一下 - Visual Basic 6.0 中的 CInt 也执行了舍入。VB.NET for CInt 中的行为与 Visual Basic 6.0 中的行为相同。

最新更新