Выводится число без запятой (Нужно 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 шт):

Автор решения: default locale

Судя по всему, Вы пытаетесь расчитать сумму, которая набежит с накоплением процентов за заданное количество месяцев.

Если так, то скорее всего у Вас ошибка в формуле. В степень нужно возвести только часть «один + процент», начальную сумму не нужно. Вот так получится 102,01:

double result = Initial * Math.Pow(1 + Percent/12 / 100, Months);

P.S. В таких случаях нужно как можно подробнее описывать условие задачи. Сейчас в вопросе нет информации о том, что рассчитывается и поэтому сложно понять, получилась ли у меня правильная формула или нет.

P.P.S. Если это попытка рассчета сложных процентов, то и исправленная формула и результат вызывают сомнения: 12% годовых и 1% месячных это разные вещи.

→ Ссылка