NumberFormat的作品,但价值观仍然不同

我正在使用C#在Excel-2007中执行任务。 我有下面的代码

object mis = Type.Missing; Excel.Workbook wb = (Excel.Workbook)Globals.ThisAddIn.GetActiveWorkbook(); Excel.Worksheet ws = (Excel.Worksheet)wb.Worksheets.Add(mis, mis, mis, mis); Excel.Range range = (Excel.Range)ws.get_Range("A1", "HM232"); range.Formula = "Sheet4!A1:HM232*0.56+Sheet5!A1:HM232*0.45"; range.NumberFormat = "0"; 

它正确地显示所有的单元格作为整数十进制数字没有任何小数点…但如果我要求的价值在说单元格G5我看到1,但是当我做以下

  MsgBox Range("G5").Value2 

它显示我0.933333222,你是如何使Value2也被改变的值四舍五入?

你可以将值转换为一个整数,以确保它四舍五入到最接近的整数,例如

 MsgBox Convert.ToInt32(Range.("G5").Value2)