如何在Visual Basic 6中倍增双打?

时间:2015-11-30 09:20:33

标签: vb6

我们正在玩EAN13条码并检查数字格式是否正确。当它是我们希望以适当的格式输出数字。当我们尝试这个时,我们得到编译错误:“预期:结束语句”。 错误发生在代码中的“ weight = first ... ”计算中。

知道可能出错的是什么?试图谷歌错误,我们没有发现任何适用于我们的情况。

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

VB6中双重文字的格式为1.1。你使用逗号作为分数分离,而vb6不接受它。