String to float C#,奇数结果
String to float C#, odd result
在我的代码中,我想将字符串转换为浮点数。但是当我将 49.5 之类的东西转换为浮点数时,它给出的输出是 495 而不是 49.5 我该如何解决这个问题?
float.Parse
、Single.Parse
或 Convert.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);
在我的代码中,我想将字符串转换为浮点数。但是当我将 49.5 之类的东西转换为浮点数时,它给出的输出是 495 而不是 49.5 我该如何解决这个问题?
float.Parse
、Single.Parse
或 Convert.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);