我有以下代码:

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

最佳答案

像这样:

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


假设该值实际上在bslval[0]中。对于& 0xff(byte)0x80之间的字节值,(byte)0xff可以得到肯定的结果。

关于java - 如何从ASCII转换为十进制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18338810/

10-12 02:54