Wird zudem noch ein 'Tausendertrennzeichen' bei Währungsangaben verwendet, hilft das auch nicht weiter. Und das Währungssymbol? NeT.
Hier also ein einfacher(er, weil RegEx-freier) "Konvertierer". Dann noch etwas zur derzeitigen Lage bzgl Trennzeichen in Währungsangaben:
https://language-boutique.de/naithani/blogpost/die-richtige-verwendung-von-punkt-und-komma-als-trennzeichen-bei-zahlen.html
Code: Select all
#NoEnv
#SingleInstance, Force
StdL := "22,50 €" ; betrag mit nachkommastellen und €-zeichen ("string")
MsgBox % €(StdL) ; betrag mittels variable übergeben (var)
MsgBox % €("23.544,98") ; betrag mit "tausender-punkt" und nachkommastellen ("string")
MsgBox % €("12,23") ; betrag mit nachkommastellen ("string")
MsgBox % €(9 €) ; voller betrag ohne nachkommastellen (number)
MsgBox % Round(€(StdL) + €("2,55€"),2) ; rechnung mit vorab konvertierten beträgen, ergebnis auf 2 nachkommastellen gerundet
array:= ["23.000,99","10000,99","-9.000",15000] ; array mit gemischten beträgen
For each, figure in array
MsgBox % €(figure)
Return
€(figure) {
Return Round(StrReplace(StrReplace(StrReplace(figure,"€",""),".",""),",","."),2) ; betrag um "tausender-punkt(e)" bereinigen, komma zu punkt anglizieren.
}