Browse Source

Calculator: % now works like Windows Calc.exe

pull/1645/head
brianlagunas_cp 16 years ago
parent
commit
2e5e1afd1f
  1. 20
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Calculator/Implementation/Calculator.cs

20
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/Calculator/Implementation/Calculator.cs

@ -285,9 +285,9 @@ namespace Microsoft.Windows.Controls
case Operation.Divide: case Operation.Divide:
newValue = CalculatorUtilities.Divide(_previousValue, currentValue); newValue = CalculatorUtilities.Divide(_previousValue, currentValue);
break; break;
case Operation.Percent: //case Operation.Percent:
newValue = CalculatorUtilities.Percent(_previousValue, currentValue); // newValue = CalculatorUtilities.Percent(_previousValue, currentValue);
break; // break;
case Operation.Sqrt: case Operation.Sqrt:
newValue = CalculatorUtilities.SquareRoot(currentValue); newValue = CalculatorUtilities.SquareRoot(currentValue);
break; break;
@ -388,8 +388,18 @@ namespace Microsoft.Windows.Controls
Calculate(Operation.Divide); Calculate(Operation.Divide);
break; break;
case CalculatorButtonType.Percent: case CalculatorButtonType.Percent:
Calculate(Operation.Percent); if (_lastOperation != Operation.None)
break; {
decimal currentValue = CalculatorUtilities.ParseDecimal(DisplayText);
decimal newValue = CalculatorUtilities.Percent(_previousValue, currentValue);
DisplayText = newValue.ToString();
}
else
{
DisplayText = "0";
_showNewNumber = true;
}
return;
case CalculatorButtonType.Sqrt: case CalculatorButtonType.Sqrt:
Calculate(Operation.Sqrt, Operation.None); Calculate(Operation.Sqrt, Operation.None);
break; break;

Loading…
Cancel
Save