字符串浮动C#,奇怪的结果

时间:2015-06-05 09:35:18

标签: c# string floating-point

在我的代码中,我想将字符串转换为float。但是当我将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呢?

1 个答案:

答案 0 :(得分:3)

可能您的系统的小数字格式与文件的格式不同。

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

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