从文本文件中,我读取值X。
XCOORD = -75.015
我像这样得到它,并将它转换为double。
var dic = File.ReadAllLines("test.txt")
.Select(l => l.Split(new[] { '=' }))
.ToDictionary(s => s[0].Trim(), s => s[1].Trim());
string X = dic["XCOORD"];
double GivenX = Convert.ToDouble(X);
然后我像这样使用我的函数:
WriteFloat(pointerx, (float)GivenX);
不幸的是,该函数不能正确地读取值。因为如果我简单地这样做,它确实可以工作:
WriteFloat(pointerx, -75.015f);
我认为它不能读取符号-和/或。有没有关于如何完成这项工作的想法?按照要求,我打印出了X的值:
mRef.showInfo(Convert.ToString(GivenX));
它向我显示:-75015,没有。我把它转换成双倍格式后打印出来的。如果我将它放在文本文件中,如下所示:XCOORD = -75.015f
。它会使我的整个程序崩溃。
WriteFloat函数:
public void WriteFloat(long Address, float Value)
{
WriteProcessMemory(GetProcessHandle(), Address, BitConverter.GetBytes(Value), 4);
}
目前,在我将其转换为double之前,我已经发现了这一点。它输出X很好:-75.015。将其转换为双精度后为:-75015。它错过了。在-75之后。
https://stackoverflow.com/questions/55170903
复制相似问题