VB.NET中的整数值舍入

DnR*_*DnR 4 vb.net

我的代码如下:

Dim num1 As Integer
Dim num2 As Integer

num1 = 12.5
num2 = 17.5
Run Code Online (Sandbox Code Playgroud)

当我输出值时,我得到这个:

num1: 12
num2: 18
Run Code Online (Sandbox Code Playgroud)

如果12.5成为12,17.5应该是17

或者如果17.5成为18,12.5应该是13

我是Visual Basic的新手,很难找到任何参考.

Bab*_*aby 8

这是因为如整数文档中所述,VB使用银行家的舍入(舍入到偶数规则)

在这种方法中,当在所述舍入位置其余部分.5,该号码被向上舍入当收到数是奇数,并且下舍入当收到数是偶数.

例如,使用round-to-even规则

2.5 round down to the even number 2.0, 
3.5 would round up to the even number 4.0
Run Code Online (Sandbox Code Playgroud)