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 ]