c# - 从文本文件中读取,创建数字范围,过滤掉范围外的浮点数并将最终值存储在文本文件中
问题描述
我很难创建一个数字范围,然后过滤存储在文本文件中的随机浮点数并最终将数字存储在数字范围内。比如说,数字范围是 742.8 到 1000。我想过滤掉这个范围之外的那些,并将范围内的浮点数存储在文本文件中。
我创建了一个具有随机浮点数的文本文件。我已经成功创建了一个能够读取文本文件中数字的代码。
这是文本文件中的随机浮点数
743.6
742.8
744.7
743.2
1000
1768.6
1750
1767
1780
1500
这是我的代码(现在可以读取上面的文本文件):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ReadTextFile
{
class Program
{
static void Main(string[] args)
{
string filePath = "C:\\Users\\Student\\Desktop\\ConsoleApp1\\ConsoleApp1\\Data\\TextFile.txt";
List<string> lines = File.ReadAllLines(filePath).ToList();
foreach (string line in lines)
{
Console.WriteLine(line);
}
Console.ReadLine();
}
}
}
更新版本:仍然无法从范围中删除数字并将范围内的数字存储在文本文件中。(编译时从文本文件中删除所有数据。)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace ReadTextFile
{
class Program
{
static void Main(string[] args)
{
string usersPath = "C:\\Users\\Student\\Desktop\\ConsoleApp1\\ConsoleApp1\\Data\\TextFile.txt";
List<string> lines = File.ReadAllLines(usersPath).ToList();
StreamWriter writer = new StreamWriter(usersPath);
foreach (string line in lines)
{
double x = double.Parse(line);
if (x > 740.9 && x < 1000.8)
{
writer.WriteLine(line);
// Console.WriteLine(line);
}
writer.Close();
Console.ReadLine();
}
}
}
}
预期结果:将数字范围内的任何浮点数存储在文本文件中。
解决方案
这基本上是您需要做的。你已经完成了一半的工作!
在
foreach
循环之前,您需要StreamWriter
在filePath
覆盖现有文件时打开一个。在
foreach
循环中,将字符串转换line
为一个double
值(请参阅Convert.ToDouble
),如果它在您的范围内,line
则filePath
使用StreamWriter
.关闭
StreamWriter
.
推荐阅读
- asp.net - 在 Chrome 上按“确定”时 Telerik“radconfirm”不会提高 href
- node.js - 续集如何在多个唯一性对中使用一列
- php - php 代码没有运行,只是在 Chrome 中显示
- nginx - Nginx 用多个替换重写查询参数
- chunked-encoding - 支持响应中的分块编码
- flutter - 即使页面不在视图中,流构建器也会从云存储中获取数据
- python - 根据条件派生新列与熊猫分配
- docker - apt-get update 在以前工作的版本中失败,出现 404
- javascript - 我试图在托管站点和 VPS 之间建立连接
- javascript - 如何在运行时查看变量的值而不是添加时的值