2015-01-31 3 views
1

Допустим, у меня есть текстовый файл с только 1 строкой.Как редактировать текстовые файлы

Линия содержит: 136.36666 120.2222 11.3222

Я хочу, чтобы создать новый текстовый файл, который содержит: 136 120 11

здесь то, что я пытался сделать:

private void button1_Click(object sender, EventArgs e) 
{ 
    string[] textfiles = Directory.GetFiles(textBox1.Text, "*.txt"); 
    foreach (string txtfile in textfiles) 
    { 
     string tempfile=Path.GetTempFileName(); 
     int line_number = 0; 
     string line = null; 
     using (var sr = new StreamReader(txtfile)) 
     using(var sw=new StreamWriter(tempfile)) 
     { 
      while ((line = sr.ReadLine()) != null) 
      { 
       line_number++; 
       string[] SplitNumbers = line.Split('.'); 
       //" im stuck here" 

      } 
     } 
    } 
} 

Я знаю, что SplitNumbers массив будет содержать: 136,36666120,222211,3222.

Моя цель - это массив, содержащий: 136,120,11.

Что делать, а не line.split?

+0

Мой ответ в другом вопросе не помог? ... –

+0

Вы попробовали код, который я поставил в ваш [предыдущий] (http://stackoverflow.com/a/28180558/2330053) вопрос? ... –

ответ

0

Если вы правильно поняли, вы хотите преобразовать двойные числа в целые числа.

Заменить

string[] SplitNumbers = line.Split('.'); 

с

string[] SplitNumbers = line.Split(' ') 
          .Select(x => ((int)double.Parse(x)).ToString()) 
          .ToArray(); 

Этот код будет конвертировать все строки в double чисел, то будет конвертировать их в integers, а затем обратно в strings.

+0

Я не выполнял эту операцию ".Выберите (x => ((int) double.Parse (x)). ToString()) .ToArray();" он также не работал, к чему относится х? –

Смежные вопросы