Не считываются вещественные числа при поиске суммы всех имеющихся в тексте чисел - 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"));
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д