/**
* 十六进制单精度浮点数,转BigDecimal,保留2为小数,截掉多余小数位
* @param hex
* @return
*/
public static BigDecimal hexFloat2BigDecimal(String hex) {
float value = Float.intBitsToFloat((int)Long.parseLong(hex, 16));
System.out.println(value);
BigDecimal bd = new BigDecimal(Float.toString(value));
return bd.setScale(2, BigDecimal.ROUND_DOWN);
}
/**
* 十六进制双精度浮点数,转BigDecimal,保留2为小数,截掉多余小数位
* @param hex
* @return
*/
public static BigDecimal hexDouble2BigDecimal2(String hex) {
double value = Double.longBitsToDouble(Long.valueOf(hex,16).longValue());
System.out.println(value);
BigDecimal bd = BigDecimal.valueOf(value);
return bd.setScale(2, BigDecimal.ROUND_DOWN);
}