Не считываются вещественные числа при поиске суммы всех имеющихся в тексте чисел - C#
Формулировка задачи:
Не могу найти ошибку, не считываются вещественные числа
Найти сумму всех имеющихся в тексте чисел (целых и вещественных, причем вещественное число может быть записано в экспоненциальной форме).
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Text.RegularExpressions;
- namespace ConsoleApplication31
- {
- class Program
- {
- static void Main()
- {
- Regex r = new Regex(@"[+-]?\d+\.?\d*");
- string text = @"a90bc 10 6.6";
- Match teg = r.Match(text);
- double sum = 0;
- while (teg.Success)
- {
- Console.WriteLine(teg);
- sum += double.Parse(teg.ToString());
- teg = teg.NextMatch();
- }
- Console.WriteLine("sum=" + sum);
- }
- }
- }
Решение задачи: «Не считываются вещественные числа при поиске суммы всех имеющихся в тексте чисел»
textual
Листинг программы
- string str = "20 adsfasdfa 2.0e-2 -49 1.4E3";
- var sum = Regex.Matches(str, @"[+-]?\d+(?:\.\d*(?:e[+-]?\d+)?)?", RegexOptions.IgnoreCase)
- .Cast<Match>()
- .Select(m => double.Parse(m.Value, NumberStyles.Any, CultureInfo.InvariantCulture))
- .Sum();
- Console.WriteLine(sum.ToString("F5"));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д