using System.Globalization;
using System.Collections.Generic;
public static void Main()
string formula = "0.5 0.5 0.25 + * 0.125 *";
decimal result = Calculate(formula);
Console.WriteLine($"{formula} = {result}");
public static decimal Calculate(string postfixFormula)
var tokens = postfixFormula.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
var stack = new Stack<decimal>();
foreach (var token in tokens)
decimal right = stack.Pop(), left = stack.Pop();
stack.Push(left * right);
decimal right = stack.Pop(), left = stack.Pop();
stack.Push(left + right);
decimal num = decimal.Parse(token, CultureInfo.InvariantCulture);