private void CalcOperacja(EOperacje op) { switch (op) { case EOperacje.Sum: Display = (y + x).ToString(); break; case EOperacje.Sub: Display = (y - x).ToString(); break; case EOperacje.Prod: Display = (y * x).ToString(); break; case EOperacje.Div: Display = (y / x).ToString(); break; } ostatnia_operacja = EOperacje.None; }
public KalulatorViewModel() { clear = true; Display = "0"; AddNumber = new CommandClick(p => { if (clear && p.ToString() != ",") { Display = p.ToString(); } else { Display += p; } clear = false; }); CalcOp1 = new CommandClick(p => { EOperacje op = Encode(p); switch (op) { case EOperacje.ClearE: if (y > 0) { Display = y.ToString(); x = 0; } else { Display = "0"; clear = true; } break; case EOperacje.Clear1: if (Display.Length > 1) { Display = Display.Remove(Display.Length - 1); } break; case EOperacje.Clear: Display = "0"; clear = true; break; case EOperacje.Sqrt: if (x > 0) { Display = Math.Sqrt(x).ToString(); } clear = true; break; case EOperacje.Pow2: if (x != 0) { Display = Math.Pow(x, 2).ToString(); } clear = true; break; case EOperacje.Neg: if (x != 0) { x = x * -1; } Display = x.ToString(); clear = true; break; case EOperacje.Opp: if (x != 0) { x = 1 / x; } Display = x.ToString(); clear = true; break; case EOperacje.Proc: if (x != 0) { x = x / 100; } Display = x.ToString(); clear = true; break; } }); CalcOp2 = new CommandClick(p => { CalcOperacja(ostatnia_operacja); ostatnia_operacja = Encode(p); y = x; //zapamiętuje 1. argument clear = true; } ); }