Софтуерно Инженерство
Loading...
+ Нов въпрос
Iliya_iliev avatar Iliya_iliev 1 Точки

форматиране на double чрез string.Join();

Здравейте колеги.

Искам да разпечатам Ключ на dictionary,  след това на един ред Value-то, което е List от doubles, и накрая

Average-то на lista и да ги закръгля до 2-ра цифра, това е (2. Average Student Grades) Ето кода.

 foreach (var item in dataStudents)
            {
                Console.WriteLine("{0} -> {1:f2} (avg: {2:f2})", item.Key,
                      string.Join(" ", item.Value), item.Value.Average());

            }

Проблема е в това, че {1:f2}, което кореспондира със  string.Join(" ", item.Value) не работи,

тоест разпечатва ми стойностите но без да ги закръгя.

Някакви идеи?

Благодаря предварително.

 

Тагове:
0
Module: C# Advanced
k.sevov avatar k.sevov 1071 Точки
Best Answer

Няма как да ти ги закръгли, защото string.Join връща стринг от залепените с интервал цифри и :f2 се опитва да ти форматира него. Може да пробваш да ги закръглиш първо в листа със селект, нещо като string.Join(" ", item.Value.Select(x -> Math.Round(x, 2))) или ако в задачата ти искат форматирането да запазва нулите - item.Value.Select(x -> string.Format("{0:f2}", x)). Пиша ги по спомени, тъй като нямам време да ги пробвам в момента, но пробвай нещо в тази посока.

0
Iliya_iliev avatar Iliya_iliev 1 Точки

Благодаря колега ще пробвам.

0