c# - 将浮点数保存到文本文件无法正常工作
问题描述
我使用以下代码在屏幕上显示经过的时间。显示时间正常。但是节省时间有时不能正常工作,例如如果 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);
解决方案
推荐阅读
- python - 带有 feature_column 的 TensorForestEstimator 抛出 TypeError
- bash - Shell 脚本需要更长的时间进行压缩以及查找
- agens-graph - 如何在 AgensGraph 上获取数组的标签?
- android - 如果我不想使用黄油刀,如何使用 ViewHolder
- kubernetes - Istio ServiceEntry 不工作(用于外部 tcp 端口 22 (ssh))
- flutter - 在 ListView 中颤振新的 Image.network foreach
- java - 将@RequestParam 作为列表是不可能的吗?
- java - 避免调度执行器创建多个 java 进程实例
- bash - MPEG-TS 文件 FFMPEG 的串联和转码
- php - 使用PHP将空数组删除为多维数组