CInt与Visual Basic .NET中的Math.Round

时间:2015-09-27 09:03:13

标签: vb.net

有什么区别:

    Dim a As Integer = CInt(2.2)

    Dim a As Integer = Math.Round(2.2)

2 个答案:

答案 0 :(得分:0)

这两个功能之间的区别在于它们完全不同的东西:

  • CInt转换为Integer类型
  • Math.Round将值四舍五入到最近的Integer
根据{{​​3}}的规定,此实例中的

Math.Round将为您提供2.0。您也正在使用该功能,请参阅上面的MSDN链接。

如果转化失败,两者都会引发Exception,您可以使用MSDN documentation

旁注:你是VB.NET的新手,但你可能想尝试切换到C#。我发现它是VB.NET和VB的混合体。 C ++,它比VB.NET更容易使用。

答案 1 :(得分:0)

CInt返回一个整数,但会将.5舍入为最接近的偶数,所以:

2 = CInt(2.5)
4 = CInt(3.5)

两者都是真的,可能不是你想要的。

可以告诉

Math.Round从零开始。但是返回一个双精度数,所以我们仍然需要投射它

3 = CInt(Math.Round(2.5, MidpointRounding.AwayFromZero))