删除带有大量尾随0的Float字符串的科学记数法

时间:2013-03-10 12:51:27

标签: java math

我正在尝试将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中的器件输出略有不同。

1 个答案:

答案 0 :(得分:3)

我不知道0x00ac如何等于5.06,但这里是如何摆脱BigDecimals的科学记数法:

BigDecimal num = new BigDecimal(fltInput);
String numWithNoExponents = num.toPlainString()