我正在使用互操作服务从C#中读取excel表。我的工作表的单元格值为0.00。但是当我在C#代码中检查该单元格的值时运行时我得到“1.845E-07”这个值。当我签入excel表格时,右键单击该单元格,说格式单元格我在样本部分得到“1.845E-07”值。如何获得准确的价值? 请帮我。代码很大,所以我不能在这里提供。 该行是:
if (Convert.ToString(((Excel.Range)worksheet.Cells[iRowindex, colIndex_q10]).Value2) != string.Empty)
{
drRow[dtSourceEXLData.Columns[constants.Floor]] = ((Excel.Range)worksheet.Cells[iRowindex, colIndex_q10]).Value2.ToString();
}
与日期单元格“39448”相同的问题。这意味着什么?请帮助......
答案 0 :(得分:13)
1.84E-07是精确值,使用scientific notation表示,也称为指数表示法。
1.845E-07与0.0000001845相同。 Excel将显示一个非常接近0的数字为0,除非您修改单元格的格式以显示更多小数。
然而,C#将从单元格中获取实际值。将小数字转换为字符串时,ToString方法使用电子记数法。
如果您不想使用电子记数法,可以指定格式字符串。
答案 1 :(得分:1)
突出显示单元格,格式化单元格,选择自定义,然后选择零。