Этот вопрос был дан ответ внизу этого сообщения.
Я просмотрел 6 различных веб-страниц форумов AHK, задающих этот вопрос, и еще одну на SO здесь:
Строка в число с помощью autohotkey
... но никто из них не работает для меня. Я просто пытаюсь вычесть число из строки, которая была взята из функции StringSplit. Это мой код:
; Assign entry price variable.
StringSplit, prices, Window1Text, `n
MsgBox, Your entry price is %prices32%.
; Assign Stop Loss variable
SLPrice := %prices32% -= 0.10
MsgBox, Your SLPrice is %SLPrice%.
Я получаю сообщение об ошибке " В следующем имени переменной содержится недопустимый символ " в строке " SLPrice: =% values32% - = 0.10 ", поэтому я пытаюсь: * * 1018
; Assign entry price variable.
StringSplit, prices, Window1Text, `n
MsgBox, Your entry price is %prices32%.
; Assign Stop Loss variable
SLPrice = %prices32% - 0.10
MsgBox, Your SLPrice is %SLPrice%.
... на который я получаю вывод:
Your SLPrice is 7.450 - 0.10
Таким образом, он просто отображает формулу в виде текстовой строки, фактически он не выполняет вычисления.
Мысли? Спасибо!
UPDATE
Чтобы продолжить работу над этим решением, вот мой полный код до той части, с которой у меня возникла проблема, а также скриншоты происходящего:
; Get the latest window text to parse values from it
WinGetText, Window1Text, ahk_class WindowsForms10.Window.8.app.0.f96fc5_r9_ad1
MsgBox, The text is: %Window1Text% ; Displays the window get text values
Sleep, 5
; Assign entry price variable.
StringSplit, prices, Window1Text, `n
MsgBox, Your entry price is %prices32%.
; Assign Stop Loss variable
SLPrice := prices32 - 0.10
MsgBox, Your SLPrice is %SLPrice%.
ОТВЕТ
Благодаря участнику ниже мы обнаружили, что там было "." из первого сообщения MsgBox, перепутавшего переменную SLPrice, мы обновили переменную SLPrice следующим образом:
SLPrice := SubStr(Trim(prices32), 1, 5) - 0.10 ; to pull the left 5 characters
Спасибо!