Ik heb een string "keyboardString" waar alle waardes van het toetsenbord van android in komen.
nu moet die String geconverteerd worden naar een float.
maar de String moet zowel getypt kunnen worden als 1.2 = 1,2 of 1,2= 1,2 of 0xFF = 255.0;
nu doet hij het met punt of komma precies wat die moet doen.
maar zodra ik 0xFF in typ krijg ik 0.0
er zit ook een gedeelte in het script wat karakters die niet in de string horen verwijderd, en zorgt dat je niet 2 keer een komma kan plaatsen.
dit werkt wel goed, moet alleen de code nog netjes maken.
het enige probleem is dus wanneer ik 0x in typ
nu moet die String geconverteerd worden naar een float.
maar de String moet zowel getypt kunnen worden als 1.2 = 1,2 of 1,2= 1,2 of 0xFF = 255.0;
nu doet hij het met punt of komma precies wat die moet doen.
maar zodra ik 0xFF in typ krijg ik 0.0

er zit ook een gedeelte in het script wat karakters die niet in de string horen verwijderd, en zorgt dat je niet 2 keer een komma kan plaatsen.
dit werkt wel goed, moet alleen de code nog netjes maken.
het enige probleem is dus wanneer ik 0x in typ
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
| float valtyped=0.00; void keyReleased() { if(keyCode == 66){ adrEdit=false; hideVirtualKeyboard();} // return else if(keyCode == 67&&keyboardString.length()<1){keyboardString=""; } // backspace else if (keyCode == 67 && keyboardString.length() > 0) { keyboardString = keyboardString.substring (0, max(0, keyboardString.length()-1)); } if(keyboardString.contains(",")||keyboardString.contains(".")||keyboardString.contains("x")){if(key!=CODED&&key!=','&&key!='.'&&key!='x'){keyboardString+=key;}}// zorgt ervoor dat je geen dubbele kommas kan typen else{if(key!=CODED){keyboardString+=key;}} keyboardString=correct_stringB(keyboardString);// verwijderd onnodige karrakters try{ if(keyboardString.contains("0x")){valtyped=float(unhex(keyboardString.substring(keyboardString.indexOf("x"))));}// dit stukje krijg ik maar niet werkend else{valtyped=float(keyboardString.replaceAll(",","."));}}catch(Exception e){} println(valtyped);// print de output naar de console } static boolean validCharB(char inputt) { // karakters in dit tabel, worden alleen toegestaan boolean returnable=false; if (inputt==('0')||inputt==('A') ||inputt==('1')||inputt==('B') ||inputt==('2')||inputt==('C') ||inputt==('3')||inputt==('D') ||inputt==('4')||inputt==('E') ||inputt==('5')||inputt==('F') ||inputt==('6')||inputt==('7') ||inputt==('8')||inputt==('9') ||inputt==('.')||inputt==('x') ||inputt==(',')||inputt==('\n') ) { returnable = true; } return returnable; } String correct_stringB(String correctable) { // alles wat niet thuis hoort in de string wordt verwijderd String returnable=""; String cc=correctable; for (int i=0; i<correctable.length(); i++) { char deleteable; deleteable=correctable.charAt(i); if (!validCharB(deleteable)) { cc=cc.replace(str(deleteable), ""); } } returnable=cc; return returnable; } |
Ben niet slim, maar wel dom