Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
Case "币制","USD","HKD","RMB"
If dr.IsNull("币制") Then
dr("利润") = Nothing
Else
Dim dr1,dr2,dr3 As DataRow
with datatables("汇率表")
dr1 = .Find("源币制 = 'USD'and 折算币制 = '" & dr("币制") & "'")
dr2 = .Find("源币制 = 'HKD'and 折算币制 = '" & dr("币制") & "'")
dr3 = .Find("源币制 = 'RMB'and 折算币制 = '" & dr("币制") & "'")
dim s As String = dr("USD") & dr1("折算符") & dr1("兑换率")
dim ss as string = dr("HKD") & dr2("折算符") & dr2("兑换率")
dim sss as string = dr("RMB") & dr3("折算符") & dr3("兑换率")
dr("利润") = eval(s)+eval(ss)+eval(sss) End With
END IF
End Select
请看上面蓝色公式
'如果dr("USD") = 0 , dr1("折算符") = / (除号) 则此公式为: 0 / XX数.第一次打开系统时,出现一个错误提示.就是 0/ 6.8
(因为0不能作被除数)
求:
dr('usd') = 0时, EVAL(S)为0,其余类推.dr('HKD') = 0时, EVAL(SS)为0 ,dr('RMB') = 0时, EVAL(SSS)为0
[此贴子已经被作者于2009-2-23 17:05:35编辑过]
0/xx可以的
xx/0是不行的
这个只有加入判断了,如果是0,采用另外的计算或赋值方式。
以下是引用狐狸爸爸在2009-2-23 17:09:00的发言:
0/xx可以的
只要这个可以就行了,呵呵!