String to float C#,奇数结果

String to float C#, odd result

在我的代码中,我想将字符串转换为浮点数。但是当我将 49.5 之类的东西转换为浮点数时,它给出的输出是 495 而不是 49.5 我该如何解决这个问题?

float.ParseSingle.ParseConvert.ToSingle();给出相同的结果...

        String[] splittedLine = new String[25];

        splittedLine = foundLine.Split('-');

        float Z = float.Parse(splittedLine[2]);
        float X = float.Parse(splittedLine[3]);
        float Y = Single.Parse(splittedLine[4]);
        PointF Center = new PointF(X /2, Y /2);

X & Y 中的值是一个完整的数字(例如 207 或 49.5); foundLine 是文本文档中的一行。

那么我怎样才能使文本文件 (49.5) 中的值保持为 49.5 而不是 495?

可能您的系统使用的小数格式与写入文件的格式不同。

默认情况下,float.Parse 将使用您系统的区域设置来决定这一点。要手动指定格式,可以使用另一个重载:

float.Parse(splittedLine[2], CultureInfo.InvariantCulture);