我有这段代码:
final byte[] bslval = data1.getByteArray(HRPService.BSL_VALUE);
runOnUiThread(new Runnable()
{
public void run()
{
if (bslval != null)
{
try
{
Log.i(TAG, "BYTE BSL VAL =" + bslval[0]);
//TextView bsltv = (TextView) findViewById(R.id.BodySensorLocation);
EditText bsltv = (EditText) findViewById(R.id.EditSensorLocation);
String bslstr = new String(bslval, "UTF-8");
bsltv.setText(bslstr);
}
catch (Exception e)
{
Log.e(TAG, e.toString());
}
EditText确实将值显示为“d”但不显示为“64”(我想要的)。如何将其转换为小数?
答案 0 :(得分:2)
这样的事情:
String bslstr = String.valueOf(bslval[0] & 0xff);
这假设,该值实际上在bslval[0]
。 & 0xff
可以获得(byte)0x80
和(byte)0xff
之间字节值的正面结果。
答案 1 :(得分:0)
如果您只想将第一个字节值bslval[0]
设置为文本,请使用更简单的字符串连接。
bsltv.setText(bslval[0] + "");