VB.NET中的整数除法舍入

时间:2013-06-27 06:00:26

标签: vb.net visual-studio-2010

当两个变量声明为整数类型并执行

14/4,你得到4,但是当你使用整数除法,14 \ 4时,得到3。

我认为当你使用整数除法时,它会舍入到最接近的偶数。所以14 \ 4 = 3.5(4是最接近的偶数)应该是4, 正确?

2 个答案:

答案 0 :(得分:10)

在VB.NET中,/运算符被定义为返回浮点结果。它在执行除法之前将变量转换为double。

在整数除法\中不是这种情况,如果商是小数,则在没有余数的情况下执行除法(忽略小数)。例如,如果商为3.x,则忽略x

答案 1 :(得分:8)

在VB.NET中将浮点数转换为整数时,该值将四舍五入为最接近的偶数。将数字转换为整数时,显然将数字舍入是一种可以追溯到BASIC语言时代的行为。

然而,当执行整数除法(使用\运算符)时,无论小数部分是什么,都会简单地丢弃小数部分。这就是你得到你所看到的行为的原因。