数据表自动转换为“0.000095”至“9.5E-05”

我从包含这样的数据“0.000095”的excel表格填充我的数据集。 数据集返回的Datatable包含stringtypes的所有列。 但由于某些原因,我想精确的数据是在Excel表中,而不是自动将其转换为“9.5E-05”。

string connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; OleDbDataAdapter adapter; DataSet ds = new DataSet(); adapter = new OleDbDataAdapter("Select * from [Sheet1$]", connstring); adapter.Fill(ds); 

我想精确的数据是在Excel表格而不是自动转换为“9.5E-05”。

这是确切的数据。 错过了学校的math?

你想要的是相同的表示(作为一个string)。

Hanle认为在UI中。 C#中的数字没有格式 – 它们是一个值,而且VALUE是相同的。 要有相同的格式,在UI中处理相同的格式。

如果你问debugging器 – 没办法。 debugging器显示具有标准格式的值。

从指数格式转换回十进制格式

 Decimal.Parse("9.5E-05”, System.Globalization.NumberStyles.Float)