-1

デバイスからのデータから HEX 文字列を float に変換しようとしています:

LCDディスプレイのデバイス出力、

0x00ac対応する float 値は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 に出力する値とわずかに異なるようです。

4

1 に答える 1

3

5.06に等しくなる方法はわかりません0x00acが、BigDecimalsを使用して科学的記数法を取り除く方法は次のとおりです。

BigDecimal num = new BigDecimal(fltInput);
String numWithNoExponents = num.toPlainString()
于 2013-03-10T13:00:52.623 に答える