我如何从ASCII转换为十进制

时间:2013-08-20 15:17:32

标签: java android

我有这段代码:

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”(我想要的)。如何将其转换为小数?

2 个答案:

答案 0 :(得分:2)

这样的事情:

String bslstr = String.valueOf(bslval[0] & 0xff);

这假设,该值实际上在bslval[0]& 0xff可以获得(byte)0x80(byte)0xff之间字节值的正面结果。

答案 1 :(得分:0)

如果您只想将第一个字节值bslval[0]设置为文本,请使用更简单的字符串连接。

bsltv.setText(bslval[0] + "");