以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 关于string 列的计算  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=153925)

--  作者:81538475
--  发布时间:2020/8/27 19:02:00
--  [求助] 关于string 列的计算
Dim xl As Double = CDbl(r1("apc"))  * 8

Dim xl As String = r1("apc")  * 8

r1(“apc”) 是string 
这两种写法都报错了。这种情况应该如何处理呢。
---------------------------
版本:2020.5.29.8
---------------------------
代码执行出错,错误信息:



System.InvalidCastException: 从字符串“”到类型“Double”的转换无效。 ---> System.FormatException: 输入字符串的格式不正确。

   在 Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)

   在 Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat)

   --- 内部异常堆栈跟踪的结尾 ---

   在 Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat)

   在 Microsoft.VisualBasic.CompilerServices.Operators.MultiplyObject(Object Left, Object Right)

   在 UserCode.Test()
---------------------------
确定   
---------------------------


--  作者:有点蓝
--  发布时间:2020/8/27 20:16:00
--  
这个单元格没有值,这种转换就会出错,改为

Dim xl As Double = val(r1("apc"))  * 8