以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  val字符转换  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=48028)

--  作者:发财
--  发布时间:2014/3/21 15:37:00
--  val字符转换

        Dim dr1 As DataRow = DataTables("初始号").AddNew()
        dr1("收购凭证起始号") = vars("fp1")
        dr1("收购凭证终止号") = vars("fp2")
        Dim s1 As String = dr1("收购凭证起始号")
        Dim s2 As String =  dr1("收购凭证终止号")
        dr("收购票数量") = val(s2)- val(s1)

运行错误:Object reference not set to an instance of an object.

为什么用val转换字符为数值运算出错?


--  作者:Bin
--  发布时间:2014/3/21 15:40:00
--  
确定 S1  S2 变量是数字.  弹出来看看.
--  作者:Bin
--  发布时间:2014/3/21 15:40:00
--  
有空格也是不可以的,尝试dr("收购票数量") = val(s2.trim())- val(s1.trim())
--  作者:lsy
--  发布时间:2014/3/21 15:40:00
--  
错误出在哪一行,判断过吗?
--  作者:发财
--  发布时间:2014/3/21 16:00:00
--  
        Dim dr1 As DataRow = DataTables("初始号").AddNew()
        dr1("收购凭证起始号") = vars("fp1")
        dr1("收购凭证终止号") = vars("fp2")
        Dim s1 As Integer = val(dr1("收购凭证起始号").trim())
        Dim s2 As Integer = val(dr1("收购凭证终止号").trim())
        dr("收购票数量") = s2 - s1

改成这样都不行?
--  作者:Bin
--  发布时间:2014/3/21 16:02:00
--  
说明你值有问题. 先判断出错误在哪一行先.
建议您用这个方法:
http://www.foxtable.com/help/topics/1485.htm

先找出是哪一行出错

--  作者:lsy
--  发布时间:2014/3/21 16:04:00
--  

vars("fp1")
vars("fp2")

 

两个变量的值,弹窗看看。


--  作者:发财
--  发布时间:2014/3/21 16:06:00
--  
这一行有问题: dr("收购票数量") = s2 - s1

--  作者:Bin
--  发布时间:2014/3/21 16:07:00
--  
上例子.
--  作者:发财
--  发布时间:2014/3/21 16:08:00
--  

dr应为dr1

多谢提醒!