Выводится число без запятой (Нужно 102,01 вместо 10201)
На выходе нужно получить 102,01 а выходит 10201 без запятой.
public static double Calculate(string userInput)
{
var parts = userInput.Split(' ');
var Initial = double.Parse(parts[0]);
var Percent = double.Parse(parts[1]);
var Months = double.Parse(parts[2]);
double result = (double)Math.Pow(Initial * (1 + Percent/12 / 100), Months);
return result;
}
public static void Main()
{
double c = Calculate("100 12 2");
Console.WriteLine(c);
}
Ответы (1 шт):
Судя по всему, Вы пытаетесь расчитать сумму, которая набежит с накоплением процентов за заданное количество месяцев.
Если так, то скорее всего у Вас ошибка в формуле. В степень нужно возвести только часть «один + процент», начальную сумму не нужно. Вот так получится 102,01:
double result = Initial * Math.Pow(1 + Percent/12 / 100, Months);
P.S. В таких случаях нужно как можно подробнее описывать условие задачи. Сейчас в вопросе нет информации о том, что рассчитывается и поэтому сложно понять, получилась ли у меня правильная формула или нет.
P.P.S. Если это попытка рассчета сложных процентов, то и исправленная формула и результат вызывают сомнения: 12% годовых и 1% месячных это разные вещи.