Autohotkey 自动热键|如何将Int更改为Double

Autohotkey 自动热键|如何将Int更改为Double,autohotkey,Autohotkey,我想知道是否有办法将自动热键脚本的int值更改为double,因为我正在尝试“微调”光标移动的速度,并希望使用十进制值。我能想到的输入十进制值的唯一方法是使用double,但我不知道如何将int值更改为double(或者如果可能的话) 这是代码,非常感谢您 #NoEnv SendMode Input SetWorkingDir %A_ScriptDir% ; NRA NRA := 1 ; NR ~LButton:: while GetKeyState("LButton") & NRA

我想知道是否有办法将自动热键脚本的int值更改为double,因为我正在尝试“微调”光标移动的速度,并希望使用十进制值。我能想到的输入十进制值的唯一方法是使用double,但我不知道如何将int值更改为double(或者如果可能的话)

这是代码,非常感谢您

#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%

; NRA
NRA := 1

; NR
~LButton::
while GetKeyState("LButton") & NRA
{
DllCall("mouse_event", uint, 1, int, 0, int, 1, uint, 0, int, 0)
Sleep, 15
DllCall("mouse_event", uint, 1, int, 0, int, 1, uint, 0, int, 0)
Sleep, 5
}
return

; keys
Insert::ExitApp
delete::suspend
我试图将下面显示的Y值更改为小数点

DllCall("mouse_event", uint, 1, int, 0, int, Y, uint, 0, int, 0)
Sleep, 15
DllCall("mouse_event", uint, 1, int, 0, int, Y, uint, 0, int, 0)

我知道Y值更改得越高,它运行得越快,但我希望能够将一个值(例如1.5或2.7)放入Y位置。

在AutoHotkey v1.1中,浮点文字实际上只是字符串 浮点输出的默认精度为6位小数,通过SetFormat()、Format()、Round()、SubStr()和Floor()来显示它们,可以很容易地对其进行更改

如果你打算做更高精度的数学,你将需要使用一个

我真的不确定你的代码,因为你从来没有指定什么变量或显示任何数学,你需要更高的精度?你漏掉什么了吗

双重:

NRA := 1

MsgBox % format("{1:0.15f}", NRA) ; Double precision
根据您的编辑:

不幸的是,仅例外,并且只接受0到4294967295范围内的整数值


您唯一的选择似乎是增加1以获得最大控制。

在AutoHotkey v1.1中,浮点文本实际上只是字符串 浮点输出的默认精度为6位小数,通过SetFormat()、Format()、Round()、SubStr()和Floor()来显示它们,可以很容易地对其进行更改

如果你打算做更高精度的数学,你将需要使用一个

我真的不确定你的代码,因为你从来没有指定什么变量或显示任何数学,你需要更高的精度?你漏掉什么了吗

双重:

NRA := 1

MsgBox % format("{1:0.15f}", NRA) ; Double precision
根据您的编辑:

不幸的是,仅例外,并且只接受0到4294967295范围内的整数值


您唯一的选择似乎是增加1以获得最大控制。

对不起,我应该更具体一点,我试图更改的代码是DLL调用鼠标事件的Y位置。我将编辑问题real quickSorry,我应该更具体一点,我试图更改的代码是DLL调用鼠标事件的Y位置。我会很快编辑这个问题