Ik maak een notificatie calculator die een gekopieerde som uitrekent en aan de hand daarvan het goede antwoord laat zien. Dat blijkt aardig te lukken. Nu wil ik nog 2 extra functies erin die ik niet weet toe te passen. Namelijk het uitrekenen van percentage van een bepaald bedrag bijvoorbeeld 2 * 0.25 = 0.50.
Maar dat werkt niet aangezien me calculator niet decimale getalen kan uitrekenen. En ik wil dat me programma zowel niet decimale getallen als wel decimale getalen kan berekenen.
En is het mogelijk om ook eigen operators toe te voegen bijvoorbeeld voor m2 cm2 m3 en cm3 etc.
Alvast bedankt!
Dit is mijn code
Maar dat werkt niet aangezien me calculator niet decimale getalen kan uitrekenen. En ik wil dat me programma zowel niet decimale getallen als wel decimale getalen kan berekenen.
En is het mogelijk om ook eigen operators toe te voegen bijvoorbeeld voor m2 cm2 m3 en cm3 etc.
Alvast bedankt!
Dit is mijn code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
| 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);
} |
[ Voor 95% gewijzigd door Verwijderd op 20-04-2019 17:14 ]