我使用以下代码在屏幕上显示经过的时间。时间显示正确。但是节省时间有时可能无法正常工作,例如,如果Time = 2,000001
保存之前,显示的时间为0:02.000
从文本文件保存并加载字符串后,显示的时间为0:02.100
我发现,这行有问题,因为str1 = 2和str2 = 1,因此换行符= 2,1,而不是2,000001
newline = str1.ToString() + "," + str2.ToString();
我的代码有什么问题?为了使时间正确地写入文本文件,我应该更改什么?
string s1;
float Time, delta;
delta = (float)gameTime.ElapsedGameTime.TotalSeconds;
Time += delta;
TimeSpan ts = TimeSpan.FromSeconds(Time);
s1 = ts.ToString("m\\:ss\\.fff");
完成关卡后,我将时间保存在这样的文本文件中:
int str1, str2;
string[] strs1;
string line = Time;
strs1 = line.Split(',');
str1 = int.Parse(strs1[0]);
str2 = int.Parse(strs1[1]);
newline = str1.ToString() + "," + str2.ToString();
在文本文件中写入字符串:
stream.WriteLine(newline);
从文本文件加载字符串:
private static System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("de-DE");
string line = reader.ReadLine();
strs = line.Split(';');
float YourTime = float.Parse(strs[0], culture);