Hallo
Meine for-Schleife (siehe unten) gibt manchmal eine NumberFromatException aus. Ich habe ein byte[] readBufferwelches ich von der seriellen Schnittstelle füllen lasse. Nun habe ich beim debuggen gesehen, dass da auch negative Werte drin stehen.... und immer dann krieg ich eine NumberFormatException, wieso?
Was ich daraus kriegen will ist ein Integer-Wert als String, aber ich muss mir die Zahl zuerst zusammensetzten aus den Werten die im readBuffer 7-4 stehen. Ich habe gedacht, dass ich die Werte erst in einen HexString wandle, denn was übertragen wird, sollten Hex-Werte sein.
Welchen Fehler mache ich dabei?
Meine for-Schleife (siehe unten) gibt manchmal eine NumberFromatException aus. Ich habe ein byte[] readBufferwelches ich von der seriellen Schnittstelle füllen lasse. Nun habe ich beim debuggen gesehen, dass da auch negative Werte drin stehen.... und immer dann krieg ich eine NumberFormatException, wieso?
Was ich daraus kriegen will ist ein Integer-Wert als String, aber ich muss mir die Zahl zuerst zusammensetzten aus den Werten die im readBuffer 7-4 stehen. Ich habe gedacht, dass ich die Werte erst in einen HexString wandle, denn was übertragen wird, sollten Hex-Werte sein.
Welchen Fehler mache ich dabei?
Code:
for(int i=7; i<=4; i--){//achtung == muss >= sein
tmpStr = Integer.toHexString(readBuffer[i]);
strBf.append(tmpStr);
refStr = strBf.toString();
value = Integer.parseInt(refStr, 16);
}
ref = Integer.toString(value); //Referenznummer als String