如何解决检查对象是否DbNull或Nothing并返回Double值或0
我有一个绑定源,它的数据源来自数据表 该表可能包含其值为Null的字段
在编写此代码时,出现错误:'公共函数xTo0Double()作为Double'没有参数,并且其返回类型无法索引
txt_inv_tot.Text = xTo0Double(bs_payh.Current("_INV_TOT")).ToString("N2")
Function xTo0Double(obj As Object) As Double
If IsdbnullnothingEmpty(obj) Then
Return 0
Else
Return CDbl(obj)
End If
End Function
Function IsdbnullnothingEmpty(obj As Object) As Boolean
If obj Is nothing
Return True
End If
If Isdbnull(obj)
Return True
End If
Try
If String.IsNullOrEmpty(obj)
Return True
End If
Catch ex As Exception
End Try
Return False
End Function
我不明白为什么会给出错误...我让VS IDE纠正了错误,并且这样纠正了
Function xTo0Double(obj As Object) As Object
If IsdbnullnothingEmpty(obj) Then
Return 0
Else
Return CDbl(obj)
End If
End Function
但是我想返回Double而不是Object
所有这些编码可以避免每次使用时都想检查字段值,从而避免使用If If End End If。例如此代码有效
If Isdbnull(bs_payh.Current("_INV_TOT"))
txt_inv_tot.Text = "0.00"
Else
txt_inv_tot.Text = CDbl(bs_payh.Current("_INV_TOT")).ToString("N2")
End If
但是我不想每次想读取可能为Null的字段值时都使用这种方式
有办法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。