科学计数转换成字符串的问题.

mingjunr 2010-05-04 02:35:24
Excel文件内有些数字写成了3.28×10-3,我用C#读取后,ToString()后变成了3.28?0-3
怎么才能得到3.28×10-3或者3.28*10-3
...全文
190 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jimh 2010-05-04
  • 打赏
  • 举报
回复
oledb读出来的应该是3.28E-3,你那里显示的咚咚不是标准的。
skep99 2010-05-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 mingjunr 的回复:]
那可能是控件的问题,谢谢你,我也试试
[/Quote]
可能是解码问题
用GB2312试试
System.Text.Encoding.GetEncoding("GB2312");
mingjunr 2010-05-04
  • 打赏
  • 举报
回复
那可能是控件的问题,谢谢你,我也试试
skep99 2010-05-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mingjunr 的回复:]
和读取方法有关么?
NativeExcel.IWorkbook.IWorksheet.Cells[1, 1].Value.ToString()
Value是Object
[/Quote]

我用oledb 试的,没问题, 你用控件实现的,我试试.
ck11926375 2010-05-04
  • 打赏
  • 举报
回复
double a = 0.123456789;
string b = a.ToString("0.000000000");
mingjunr 2010-05-04
  • 打赏
  • 举报
回复
和读取方法有关么?
NativeExcel.IWorkbook.IWorksheet.Cells[1, 1].Value.ToString()
Value是Object
singincloud 2010-05-04
  • 打赏
  • 举报
回复
实在不行正则转一下
mingjunr 2010-05-04
  • 打赏
  • 举报
回复
麻烦楼上MessageBox一个给我看看.是3.28×10-3,不是3.28E-03,×是Office里的特殊字符
skep99 2010-05-04
  • 打赏
  • 举报
回复
不知道你用什么方式读取的
qq389900275 2010-05-04
  • 打赏
  • 举报
回复
string b=a.Tostring("0.00000000");

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧