首页 文章

NumberFormat有效,但值仍然不同

提问于
浏览
1

我正在使用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,你是如何使它的值也被圆形值改变....?

1 回答

  • 1

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

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

相关问题