(32位)16进制IEEE-754标准浮点数转为10进制浮点数 ,有2种方式,1种是左高字节(大端),另一种是右高字节(小端),转化方式如下:
//16进制浮点数转字符串,小端, 右高字节,如果正常收到的值为:00 12 23 45 则解析值为:45 23 12 00
private String sfloat(String str){
int count = str.length()/2;
String last = "";
for(int i = count-1;i>=0;i--){
String one = str.substring(i*2,(i+1)*2);
last+=one;
}
if(!"".equals(last)) {
Float f = Float.intBitsToFloat(new BigInteger(last, 16).intValue());
DecimalFormat fnum = new DecimalFormat("##0.00");
String dd = fnum.format(f);
return dd;
}
return "--";
}
//16进制浮点数转字符串,大端,左高字节,直接解析:00 12 23 45
private String bfloat(String str){
Float f = Float.intBitsToFloat(new BigInteger(str, 16).intValue());
DecimalFormat fnum = new DecimalFormat("##0.00");
String dd = fnum.format(f);
return dd;
}
感谢您的支持,写的文章如对您有所帮助,开源不易,请您打赏,谢谢啦~



