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

标签 .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

最佳答案

您可以使用CInt在 VB.NET 中也是如此。这是一个标准type conversion function VB.NET 编译器支持。没有理由避免它。

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

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

<小时/>

附注 - CInt in Visual Basic 6.0还进行了舍入。 VB.NET 中 CInt 的行为与 Visual Basic 6.0 中的行为相同。

关于.net - 与旧 CInt() VB 方法相对应的 VB.NET 方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11054965/

相关文章:

带有其他指定关键字参数的 python 函数 *args 和 **kwargs

python - 如何迭代和过滤对象方法?

.net - 证书 - 它们何时安装在证书存储中?

.net - 如何解决 "%1 is not a valid Win32 application"?

vb.net - 拖动并分离标签页

c# - 确保 ssl 可用性后重定向到 https

c# - 为什么 C# 不能自动提供对事件的线程安全访问,而 C++/CLI 可以?

c# - Windows Azure 服务总线队列 - MessageSender 还是 QueueClient?

html - CSS 添加的字符后的行

java - 为什么我的编译器在不应该出现 NullPointerException 的情况下出现?