我从excel表填充我的数据集,其中包含类似这样的数据" 0.000095"。数据集返回的数据表具有string类型的所有列。但由于某些原因,我想要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);
答案 0 :(得分:1)
我想要excel表格中的确切数据,而不是将其自动转换为“9.5E-05”。
那是确切的数据。在学校错过了数学?
你想要的是相同的REPRESENTATION(作为一个字符串)。
Hanle在UI中。 C#中的数字没有格式 - 它们是一个值,而VALUE是相同的。要使用相同的格式,请在UI中处理相同的格式。
如果你问问调试员 - 没办法。调试器使用标准格式显示值。
答案 1 :(得分:0)
从指数格式转换回十进制格式
Decimal.Parse("9.5E-05”, System.Globalization.NumberStyles.Float)