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