10

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

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

我想当你使用整数除法时,它会四舍五入到最接近的偶数。所以 14\4 = 3.5(4 是最接近的偶数)应该是 4,对吧?

4

2 回答 2

11

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

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

于 2013-06-27T06:10:56.560 回答
10

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

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

于 2013-06-27T06:13:47.033 回答