哪位知道下面的问题出在哪?谢谢!
I3 = CStr(CInt(LottorySheet.Cells(Rows, Cols) * 0.5)) 
其中:LottorySheet.Cells(Rows, Cols)的值是9
结果:应该I3=5,但现在I3=4

解决方案 »

  1.   

    VB 的进位方式是“四舍六入五成双”,要“四舍五入”应该用 Excel 的函数
    I3 = CStr(WorksheetFunction.Round(LottorySheet.Cells(Rows, Cols) * 0.5, 0)) 
      

  2.   

    楼主对四舍五入的理解有偏差。
    国际上早就统一了。应该是四舍六入五逢单。
    例如  Cint(5.5)=6
         Cint(6.5)=6
         Cint(6.5000001)=7
     就是说,凡小数刚好等于0.5时,整数部分是偶数时,舍去,整数部分是奇数时,才能入。