将文本转换为数字

我不知道为什么这个代码不工作..我想只是将文本转换为数字..它不给我任何错误,但它不起作用

Public Function ConvertCOMPLEXITYToNumber(ByVal chain As String) As Integer Select Case chain Case "1 - Très difficile" ConvertCOMPLEXITYTToNumber = 1 Case "2 - Difficile" ConvertCOMPLEXITYTToNumber = 2 Case "3 - Modérée" ConvertCOMPLEXITYTToNumber = 3 Case "4 - Facile" ConvertCOMPLEXITYTToNumber = 4 Case Else ConvertCOMPLEXITYTToNumber = 0 End Select Exit Function End Function 

这可能是因为您可能有不必要的前后空格,而无法进行比较。 你也不需要Exit Function在代码的结尾。 它会退出任何方式:)

尝试这个

 Public Function ConvertCOMPLEXITYToNumber(ByVal chain As String) As Integer Dim Num As Integer Select Case Trim(chain) Case "1 - Très difficile": Num = 1 Case "2 - Difficile": Num = 2 Case "3 - Modérée": Num = 3 Case "4 - Facile": Num = 4 Case Else: Num = 0 End Select ConvertCOMPLEXITYToNumber = Num End Function 
 If IsNumeric(Left(Trim(chain),1)) Then ConvertCOMPLEXITYToNumber = Left(Trim(chain),1) Else ConvertCOMPLEXITYToNumber = 0 End If 

在这里,我的方法为你:

 Public Function ConvertCOMPLEXITYToNumber(ByVal chain As String) As Integer 'Get the first character chain = Left(Trim(chain), 1) 'If frist character is numeric If IsNumeric(chain) Then 'If first number is less than 5, return value If chain < 5 Then ConvertCOMPLEXITYToNumber = CInt(chain) End If End If End Function