Dim x As Integer = 1.8 \ 1
错误:
Option Strict On禁止隐含 从'Double'转换为'Long'
长?
修改
显然,Visual Basic会尝试将任何浮点数字表达式转换为Long。好的,这部分很清楚。
现在,我可以使用
CType((Math.Round(myResultingSingle)), Integer)
但\
运算符支持所有类型的MSDN tells为什么实际上只支持Long
作为 expression1 ?!...
答案 0 :(得分:2)
来自the MSDN page \ Operator (Visual Basic):
在执行除法之前,Visual Basic会尝试将任何浮点数值表达式转换为Long
那 长。由于 Double 到 Long 是一个缩小的转化,并且Option Strict
已启用,因此您必须明确要求它发生。
答案 1 :(得分:2)
Here(在备注部分)是答案:
在进行分工之前,视觉 转换任何基本尝试 浮点数值表达式 长。如果Option Strict为On,则a 发生编译错误。
答案 2 :(得分:2)
整数除法运算符需要积分操作数。两种可能的方法: