繁体   English   中英

从 Excel VBA 中的字母数字字符串中提取十进制数

[英]Extract decimal number from an alphanumeric string in Excel VBA

我对 Excel VBA 真的很陌生,正在努力编写一个函数,该函数可以从 1.25/g 或 23.5g 等字母数字字符串中提取十进制数。十进制数总是在前面。

我找到了一些解决问题的方法,但它们不适用于十进制数。

我找到了一个适用于某些字符串但不适用于所有字符串的解决方案。 我已经发布了下面的功能。 它返回 1.2 g 作为 1,但适用于许多其他数字。

提前致谢。

Public Function first_try(a) As Double

Dim i As Long

For i = 1 To Len(a)
If IsNumeric(Mid(a, i, 1)) Then    
    first_try = Val(Mid(a, i))
        Exit For
    End If
Next i

Debug.Print firt_try

End Function

好吧,捷径可能是Val函数。

Public Function first_try(a) As Double
    first_try = Val(a)
End Function

根据文档:

“Val 函数在它无法识别为数字的一部分的第一个字符处停止读取字符串。”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM