我试图在分割两个变量后得到数字的整数部分。 即,如果值为3.75,则获得3 displaycount和itemcount都是整数变量。
Dim cntr As Integer
cntr = Math.Floor(Math.Abs(itemCount / displaycount))
该代码在VS2012中产生蓝色波浪形,并注释“将Double转换为Integer时可能发生运行时错误”但是Math.Floor应该采用小数或双精度并返回整数。
答案 0 :(得分:3)
“Math.Floor应该采用小数或双精度并返回一个整数。”不,不是。它返回与其参数相同类型的值。请参阅文档,例如Math.Floor Method (Double)
我原本期望VS建议修改在任务的RHS周围添加CInt();那不适合你吗?
答案 1 :(得分:1)
如果您需要整数作为结果,请考虑使用CInt
,Int
或Fix
函数。
CInt 使用银行家的舍入舍入到最接近的整数(向最接近的偶数数n.5轮)。
Int 删除小数部分。负数被截断为较小的数字
Int(-8.4) = -9
。
修复删除小数部分。负数被截断为更大的数字
Fix(-8.4) = -8
。
请参阅Conversion.Int Method和Type Conversion Functions (Visual Basic)。