在浮动需要函数中使用double

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (16)

从文本文件中我读取了一个值X.

XCOORD = -75.015

我这样得到它,并将其转换为双倍。

    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之后。

提问于
用户回答回答于

这不是真正的答案,但它回答了很多评论。并且,它不适合评论

我创建了一个简单的文本文件,如下所示:

XCOORD = -75.015
POSITIVE = 25.123
WHOLE = 123

然后我拿出你的代码并将其充实以读取该文件中的所有键/值并将结果写出:

 public static void ConvertTheFloats()
 {
     var dic = File.ReadAllLines("ConvertFloatsData.txt")
         .Select(l => l.Split(new[] { '=' }))
         .ToDictionary(s => s[0].Trim(), s => s[1].Trim());

     var keys = dic.Keys;
     foreach (var key in keys)
     {
         string x = dic[key];
         if (float.TryParse(x, out var floatX))
         {
             Debug.WriteLine($"Success: Key: {key} - String Value: {x} - Float Value: {floatX}");
         }
         else
         {
             Debug.WriteLine($"Failed: Key: {key} - String Value: {x}");
         }
     }
 }

结果如下:

Success: Key: XCOORD - String Value: -75.015 - Float Value: -75.015
Success: Key: POSITIVE - String Value: 25.123 - Float Value: 25.123
Success: Key: WHOLE - String Value: 123 - Float Value: 123

因此,您对文件的解析有效。字典获取键和表示浮动的字符串(我没有打扰双打)。我可以成功地将它们转换为浮点数。值匹配。

您的问题似乎是您尚未发布的代码。

所属标签

可能回答问题的人

  • HKC

    红客学院 · 创始人 (已认证)

    26 粉丝7 提问5 回答
  • 西风

    renzha.net · 站长 (已认证)

    9 粉丝1 提问4 回答
  • Dingda

    Dingda · 站长 (已认证)

    4 粉丝0 提问3 回答
  • 螃蟹居

    1 粉丝0 提问2 回答

扫码关注云+社区

领取腾讯云代金券