コード例 #1
0
 public void Input(string s)
 {
     if (s.Equals("C"))
     {
         Clear();
     }
     else if (s.Equals("="))
     {
         CompleteCalculation();
         currentValue = null;
     }
     else
     {
         if (Operator.StringIsOperator(s))
         {
             currentValue = null;
             PushOperator(new Operator(s));
         }
         else
         {
             ApplyToCurrentValue(s);
         }
     }
     NotifyDisplayChanged();
 }
コード例 #2
0
ファイル: CalculatorModel.cs プロジェクト: takagotch/rb_ex
        public void Input(string s)
        {
            if (s.Equals("C"))
            {
                Clear();
            }
            else if (s.Equals("="))
            {
                CompleteCalculation();
                currentValue = null;
            }
            else
            {
                if (Operator.StringIsOperator(s))
                {
                    currentValue = null;
                    PushOperator(new Operator(s));
                }
                else
                {
                    ApplyToCurrentValue(s);
                }
            }
            var latestValue = (valueStack.Count == 0) ? "0" : valueStack.Peek().ToString();

            Display = latestValue;
        }