练习要求您打印薪水大于1800.00的员工姓名
练习要求您打印薪水大于1800.00的员工姓名。
使用记事本+ +
打开日期第54-107栏是客户的名称。 第156-163栏是雇员工资(那些有000工资的人会破坏它)。
我无法转换工资份额,有人可以帮助我吗?
double salconv =0;;
string linha, salario="";
string[] maior = new string[100];
StreamReader sr = new StreamReader(@"C:\Users\BRENOLL\Videos\data.txt");
while (!sr.EndOfStream)
{
linha = sr.ReadLine();
string nomes = linha.Substring(53, 52);
salario = sr.ReadLine();
salconv = Double.Parse(salario.Substring(156, 6));
Console.WriteLine(salconv);
}
sr.Close();
Console.ReadKey();`
答案 0 :(得分:0)
我使用您的代码运行您的示例数据。它在最后一行打破了。您正在尝试解析一个充满空格" "
的字符串。
一种解决方法是使用TryParse
方法。但是如果你的数据不正确,他们将被忽略。
double salconv = 0; ;
string linha, salario = "";
string[] maior = new string[100];
StreamReader sr = new StreamReader(@"C:\Users\pw\Downloads\data.txt");
while (!sr.EndOfStream)
{
linha = sr.ReadLine();
string nomes = linha.Substring(53, 52);
salario = sr.ReadLine();
if (Double.TryParse(salario.Substring(156, 6), out salconv))
{
Console.WriteLine(salconv);
}
}
sr.Close();
Console.ReadKey();
Alos,请考虑使用StreamReader
声明包裹using
。