Vb.net 是否在VB中执行整数除法?
在VB.NET中,即使两个操作数都是整数,Vb.net 是否在VB中执行整数除法?,vb.net,division,integer-division,Vb.net,Division,Integer Division,在VB.NET中,即使两个操作数都是整数,/运算符也会使值成为浮点值(如果结果是非整数) 因此,我尝试使用\运算符,该运算符不考虑操作数而产生整数值。 所以我认为\是整数除法 2.5\3导致0 现在我尝试了1.5\2。我原以为是0,但结果是1 现在,这是错误还是正确的结果? \操作符实际上是什么 如果它是一个bug,它就通过VB6存在。如果对非整数使用\,首先将它们转换为整数,这会导致舍入:相当于CLng(1.5)\2,即2\2或1 如果您对使用选项Strict,那么您将看到发生这种情况。这不是
/
运算符也会使值成为浮点值(如果结果是非整数)
因此,我尝试使用\
运算符,该运算符不考虑操作数而产生整数值。所以我认为
\
是整数除法
2.5\3
导致0
现在我尝试了1.5\2
。我原以为是0
,但结果是1
现在,这是错误还是正确的结果?
\
操作符实际上是什么
如果它是一个bug,它就通过VB6存在。如果对非整数使用
\
,首先将它们转换为整数,这会导致舍入:相当于CLng(1.5)\2
,即2\2
或1
如果您对使用
选项Strict,那么您将看到发生这种情况。这不是错误,只是将结果四舍五入到最接近的整数。
运算符/用于在数字和整数之间进行浮点或双精度除法,同时不忘记十进制类型
关于。请参阅中的备注部分:
在执行除法之前,Visual Basic会尝试转换任何
浮点数值表达式到长。。。转换为长
也受银行家四舍五入的影响
这意味着1.5\2变为2/2,即1
银行家四舍五入(从):
如果小数部分正好为0.5,则整数转换函数将其四舍五入到最接近的偶数整数。例如,0.5轮为0,1.5和2.5轮均为2。这有时被称为银行家四舍五入,其目的是补偿将许多这样的数字相加时可能累积的偏差
如果是这样的话,那么你会怎么说2.5\3=0???@dotnebeginner它使用四舍五入或“从四舍五入到五舍五入”。因此它实际上是2\3=0
。请参阅中的备注:“如果小数部分正好是0.5,整数转换函数将其四舍五入到最接近的偶数整数。例如,0.5舍入到0,1.5和2.5都舍入到2。这有时称为银行家舍入,其目的是补偿将多个此类数字相加时可能累积的偏差。”@Dotnebeginner:由于银行家四舍五入(四舍五入到最接近的偶数整数,以帮助抵消过程中出现的一些变化),2.5被四舍五入为2。对于选项,我不知道,并且从现在起可能会使用+1,成为一个严格的狂热者。@Jean-François Corbett:实际上,你可以在全局范围内打开它,而不是对每个文件单独打开:转到工具->项目和解决方案->VB默认设置,然后打开它。见鬼,把它们都打开!如果你这样做了,那么你将获得类型推断所包含的最大严格性,以使生活更轻松。感谢你的更正,我修复了拼写错误,如果这造成了不适,我向你道歉。顺致敬意,