以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]读取Excel变成科学计数法问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82827)

--  作者:不可思议的虫
--  发布时间:2016/3/25 13:25:00
--  [求助]读取Excel变成科学计数法问题
前提是没有办法修改Excel的单元格格式,只能进行内容的读取,比较怪的是在Excel中查看时并不是科学计数法显示的。

Dim Book As New XLS.Book(File)
Dim Sheet As XLS.Sheet

Dim sCell As String

sCell=Sheet(iR,iC).Text.Trim
sCell=Sheet(iR,iC).Value.Trim

读出的结果均为
4.98784671382852E+15

如何能读出正常的字符串?

--  作者:wyz20130512
--  发布时间:2016/3/25 13:50:00
--  回复:(不可思议的虫)[求助]读取Excel变成科学计数法...
这并不会带来什么影响,若将4.98784671382852E+15复制到高精度列是会正常显示的:4987846713828520
--  作者:大红袍
--  发布时间:2016/3/25 15:13:00
--  

不影响使用吧?

 

Dim d As Decimal= "4.98784671382852E+15"
msgbox(d)


--  作者:不可思议的虫
--  发布时间:2016/3/25 15:27:00
--  
感谢支持!使用Decimal可以实现目的了,不过如果有封装好的函数处理一下更好,不然在转成Decimal时还是担心会有非数字出现,还得进行判断处理。
--  作者:大红袍
--  发布时间:2016/3/25 15:35:00
--  

需要判断一下的

 

try
    Dim d As Decimal = "alksdjfk"
catch ex As exception
    msgbox("不是数值")
End try