2015-11-30 59 views
1

我们在玩弄EAN13条形码并检查数字格式是否正确。如果是这样,我们希望以适当的格式获取数字。我们得到编译错误:“预期:语句结束”当我们尝试这个。 错误发生在代码中的“weight = first ...”计算中。如何在Visual Basic 6中倍增倍数?

任何想法可能是错误的?试图谷歌错误,我们没有发现任何适用于我们的情况。

Dim first As Double 
Dim second As Double 
Dim third As Double 
Dim fourth As Double 

If Left(data, 5) = 3 Or Left(data, 5) = 4 Or Left(data, 5) = 5 Then 
' Checking if it's a weight and then converting the string to double 
     first = CDbl(Val(Left(data, 12))) 
     second = CDbl(Val(Left(data, 13))) 
     third = CDbl(Val(Left(data, 14))) 
     fourth = CDbl(Val(Left(data, 15))) 

     If Left(data, 5) = 3 Then 
     ' 1,234 kg 
      weight = first * 1 + second * 0,1 + third * 0,01 + fourth * 0,001 
     ElseIf Left(data, 5) = 4 Then 
     ' 12,34 kg 
      weight = first * 10 + second * 1 + third * 0,1 + fourth * 0,01 
     ElseIf Left(data, 5) = 5 Then 
     ' 123,4 kg 
      weight = first * 100 + second * 10 + third * 1 + fourth * 0,1 
     End If 
    End If 

End If 
+0

尝试用小数值中的''替换''' – pinkfloydx33

+0

@ pinkfloydx33噢,上帝......为什么我们没有想到这个? – Danieboy

回答

2

您需要用逗号替换逗号。 Vb6不能识别为十进制分隔符。 0,1应该是0.1

2

VB6中双字面值的格式为1.1。您使用逗号作为分数分隔,并且vb6不接受该分号。