Multiplikator und Multiplikand müssen beide im Zahlenformat vorliegen.
Kommata werden in Autohotkey (wie im angelsächsischen Sprachraum und Programmiersprachen üblich) nicht als Dezimaltrennzeichen erkannt. Stattdessen wird
. als Dezimaltrennzeichen verwendet, wie du es oben ja teilweise schon tust. Du müsstest also ggf. die Kommas durch Punkte ersetzen - zumindest für die Berechnung. Danach kannst du ja wieder zurücktauschen... natürlich könntest du dir auch ne wiederverwendbare Funktion schreiben, die Zahlen im deutschen Format aufnimmt und wieder zurückgibt (während sie intern mit
. rechnet). Aber AHK wird alles mit Kommata als Zeichenketten interpretieren.
Code: Select all
AusgabeVar=
(
123456 256,99
654321 100,00
)
Loop, parse, AusgabeVar, `n
{
mwst := StrSplit(A_LoopField, "`t")
neunzehn := 1.19
mitmwst := StrReplace(mwst[2], "," , ".") * neunzehn
msgbox, % mwst[2] " * 1,19 = " StrReplace(mitmwst, "." , ",")
}
Vielleicht gibt es auch irgendeinen
DllCall, der die lokalen Präferenzen beim Multiplizieren berücksichtigt...