我有以下代码:
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/