当两个变量声明为整数类型并执行
时14/4,你得到4,但是当你使用整数除法,14 \ 4时,得到3。
我认为当你使用整数除法时,它会舍入到最接近的偶数。所以14 \ 4 = 3.5(4是最接近的偶数)应该是4, 正确?
答案 0 :(得分:10)
在VB.NET中,/
运算符被定义为返回浮点结果。它在执行除法之前将变量转换为double。
在整数除法\
中不是这种情况,如果商是小数,则在没有余数的情况下执行除法(忽略小数)。例如,如果商为3.x
,则忽略x
答案 1 :(得分:8)
在VB.NET中将浮点数转换为整数时,该值将四舍五入为最接近的偶数。将数字转换为整数时,显然将数字舍入是一种可以追溯到BASIC语言时代的行为。
然而,当执行整数除法(使用\
运算符)时,无论小数部分是什么,都会简单地丢弃小数部分。这就是你得到你所看到的行为的原因。