我正在尝试将HEX字符串从来自设备的数据转换为float:
LCD显示屏中的设备输出
0x00ac
,相应的浮点值为5.06
计算该值的方法是:
final byte[] temp = new byte[1];
temp[0] = ba[0];
float fff = hexToFloat(bytesToHex(temp)).floatValue();
final float ff = ( fff / 42) * 1000;
String floatString = Float.toString(ff);
但是,floatString输出字符串包含“E-”表示法。我需要删除它。此外,似乎ff的值与LCD中的器件输出略有不同。
答案 0 :(得分:3)
我不知道0x00ac
如何等于5.06,但这里是如何摆脱BigDecimals的科学记数法:
BigDecimal num = new BigDecimal(fltInput);
String numWithNoExponents = num.toPlainString()