有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java删除带有大量尾随0的浮点字符串上的科学符号

我正试图将一个十六进制字符串从一个来自设备的数据转换成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) 个答案

  1. # 1 楼答案

    我不知道0x00ac怎么能等于5.06,但下面是如何摆脱带有大小数的科学记数法:

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