CTE"预期:表达" from If(Not Double.TryParse(String,Double))

时间:2015-05-22 16:25:40

标签: vba ms-access

Function LatToDecimal(latIn As String) As String
    Dim SplitA() As String
    SplitA() = Split(latIn, "°") 'A(0) is DEG.
    Dim SplitB() As String
    SplitB() = Split(SplitA(1), "'") 'B(0) is MIN.
    Dim SplitC() As String
    SplitC() = Split(SplitB(1), """") 'C(0) is SEC. C(1) is N/S.

    Dim deg As Double
    Dim min As Double 'Not yet used.
    Dim sec As Double 'Not yet used.

    If (Not Double.TryParse(SplitA(0), deg)) Then
        deg = 0
    End If

End Function

构建上述函数时,我在If语句中遇到编译错误(Expected:Expression)。 latIn将始终作为有效的DMS纬度值传递,并且我已确认MsgBox(SplitA(0))已被删除,但SplitA(0)确实存在。

好像Double.TryParse()没有成功返回布尔值,除非我误解了。可能导致这种情况发生的原因是什么?

1 个答案:

答案 0 :(得分:1)

如果内存为我提供正确Double.TryParse()适用于VB.net。我认为您正在寻找的是Cdbl将其转换为double。您可以在此处找到有关此内容的更多信息:http://www.techonthenet.com/access/functions/datatype/cdbl.php

它是您需要的几乎所有内置功能的绝佳资源。