Въпрос за 11 задача от лекцията прости пресмятания с числа
условието на задачата е следното: Напишете програма, която чете от конзолата страна и височина на триъгълник и пресмята неговото лице. Използвайте формулата за лице на триъгълник: area = a * h / 2. Закръглете резултата до 2 знака след десетичната точка използвайки Math.Round(area, 2).
Аз, не уча в курса, но искам да разбера логиката за решаване на: Math. Round
Написал съм следния код и Visual Studio
Console.Write(" a= ");
var a = Double.Parse(Console.ReadLine());
Console.Write(" h= ");
var h = Double.Parse(Console.ReadLine());
var area = (a * h / 2);
Console.WriteLine( area );
С този код решавам задачите но без закръглянето на резултата до 2 знака след десетичната запетая?
"Math.Round" и "F" не работят еднакво във всички ситуации. Като се закръгля с "{0:F2}", винаги има 2 числа след десетичната запетая, а при Math.Round, ако числото е цяло или има trailing zeros, това не се получава. Това може да доведе до грешни тестове в Judge.
Пример: