将ASCII值转换为Double值

时间:2017-07-10 03:12:03

标签: java android ascii

如何将 ASCII值转换为双倍值

输入(ASCII值):

  

48,48,52,56,55,57,53,57,54,49

预期输出(双倍值):

  

487.959,61

我试过这样,但仍然没有奏效。任何指导都表示赞赏。

byte[] ascii = new byte[]{48, 48, 52, 56, 55, 57, 53, 57, 54, 49};
long lngAscii = ByteBuffer.wrap(ascii).getLong();
double result = lngAscii/100;
Log.i("result:", String.valueOf(result));  // result: 5.2085034998064304E16

1 个答案:

答案 0 :(得分:1)

你的代码几乎没有错。你已经写了十进制ASCII值,在它们前面任意插入0x,然后误解为二进制值,然后除以错误的除数。但是:

byte[] ascii = {48, 48, 52, 56, 55, 57, 53, 57, 54, 49};
long lngAscii = Long.parseLong(new String(ascii));
double result = lngAscii/100000;
Log.i("result:", String.valueOf(result));
相关问题