我想从string
中提取(或分离)十进制数字。像:
宽度(6.15)
这里我只想保留十进制数字。
Sub first_try()
Dim a, b
a = "width(5.55)"
For i = 1 To Len(a)
If IsNumeric(Mid(a, i, 1)) Then
b = b & Mid(a, i, 1)
End If
Next i
'Debug.Print b
End Sub
但在这种情况下,我只能保留数字(如我的代码为555),但不能保留十进制数字。并且字符串并不总是像宽度(5.55),没有规律可循。所以,如果你有一些想法,请给我一些建议。谢谢!
答案 0 :(得分:1)
这是一种可能的方式:
Sub first_try()
Dim a, b
Dim i As Long
a = "width(5.55)"
For i = 1 To Len(a)
If IsNumeric(Mid(a, i, 1)) Then
b = Val(Mid(a, i))
Exit For
End If
Next i
Debug.Print b
End Sub
根据您提供的信息。如果你需要允许负数,这应该是一个简单的改变。
答案 1 :(得分:1)
以下是获取数字和小数点的方法:
=~