Я делаю калькулятор уведомлений, который вычисляет скопированную сумму и показывает правильный ответ на основании этого.Это, кажется, работает довольно хорошо.Теперь я хочу еще 2 функции, которые я не знаю, как применять.А именно, вычисление процента от определенной суммы, например, 2 * 0,25 = 0,50.
Но это не работает, поскольку мой калькулятор не может вычислять десятичные числа.И я хочу, чтобы моя программа могла рассчитывать как недесятичные, так и десятичные числа в зависимости от того, что вы вычисляете.
Это мой код
private char[] SPACE = new char[] { ' ' };
private void GetAnswer(string clipboardText)
{
var parts = clipboardText.Split(SPACE);
var isValid = true;
int a, b;
// Make sure it's format A # B
if (parts.Length != 3)
return;
// Parse first number
isValid = int.TryParse(parts[0], out a);
if (!isValid)
return;
var validOperators = new char[] { '+', '-', '/', '*' };
// Parse operator
if (parts[1].Length != 1)
return;
var op = parts[1][0];
if (!validOperators.Contains(op))
return;
// Parse 2nd number
isValid = int.TryParse(parts[2], out b);
if (!isValid)
return;
// Now calculate the answer
string answer = null;
switch (op)
{
case '+':
answer = (a + b).ToString();
break;
case '-':
answer = (a - b).ToString();
break;
case '/':
if (b == 0)
answer = "NaN";
else
answer = (a / b).ToString();
break;
case '*':
answer = (a * b).ToString();
break;
default:
throw new InvalidOperationException();
}
// Show the answer
ShowNotification(clipboardText, answer);
}