简体   繁体   English

我如何从ASCII转换为十进制

[英]How do i convert from ASCII to Decimal

I have this code: 我有这个代码:

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());
            }

The EditText does show the value as a "d" but not as "64" (which I want). EditText确实将值显示为“d”但不显示为“64”(我想要的)。 How do I convert this to a decimal instead? 我该如何将其转换为小数?

Something like this: 像这样的东西:

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

This assumes, the value is actually in bslval[0] . 这假设,该值实际上是bslval[0] The & 0xff is there to get positive results for byte values between (byte)0x80 and (byte)0xff . & 0xff(byte)0x80(byte)0xff之间获得字节值的正结果。

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM