40 lines
1.2 KiB
Markdown
40 lines
1.2 KiB
Markdown
|
|
# ExtractNumber Function
|
|
|
|
## Description
|
|
The ExtractNumber function extracts a numeric value from a string, ignoring any leading letters. The function supports decimal numbers and negative values.
|
|
|
|
## Syntax
|
|
```vba
|
|
ExtractNumber(text As String) As Double
|
|
|
|
```pascal
|
|
Public Function ExtraerNumero(texto As String) As Double
|
|
Dim i As Long
|
|
Dim numeroStr As String
|
|
Dim caracter As String
|
|
|
|
' Recorrer cada caracter del string
|
|
For i = 1 To Len(texto)
|
|
caracter = Mid(texto, i, 1)
|
|
' Verificar si el caracter es un número, punto decimal o signo negativo
|
|
If caracter = "." Then
|
|
numeroStr = numeroStr & ","
|
|
' Si ya empezamos a capturar números y encontramos una letra, terminamos
|
|
ElseIf IsNumeric(caracter) Or caracter = "." Or (caracter = "-" And numeroStr = "") Then
|
|
numeroStr = numeroStr & caracter
|
|
' Si ya empezamos a capturar números y encontramos una letra, terminamos
|
|
ElseIf numeroStr <> "" Then
|
|
Exit For
|
|
End If
|
|
Next i
|
|
|
|
' Si encontramos un número, convertirlo a Double
|
|
If numeroStr <> "" Then
|
|
ExtraerNumero = CDbl(numeroStr)
|
|
Else
|
|
ExtraerNumero = 0
|
|
End If
|
|
End Function
|
|
|
|
``` |