package com.hdl.sdk.hdl_core.Util.TransformUtil;
|
|
import java.math.BigDecimal;
|
|
/**
|
* Created by JLChen on 2019/7/4
|
*/
|
public class HDLUtlis {
|
|
/**
|
* 将object转为Integer类型
|
*
|
* @param object
|
* @return
|
*/
|
public static Integer getIntegerByObject(Object object) {
|
Integer in = 0;
|
if (object != null) {
|
if (object instanceof Integer) {
|
in = (Integer) object;
|
} else if (object instanceof String) {
|
in = Integer.parseInt((String) object);
|
} else if (object instanceof Double) {
|
in = (int) ((double) object);
|
} else if (object instanceof Float) {
|
in = (int) ((float) object);
|
} else if (object instanceof BigDecimal) {
|
in = ((BigDecimal) object).intValue();
|
} else if (object instanceof Long) {
|
in = ((Long) object).intValue();
|
}
|
}
|
return in;
|
}
|
|
/**
|
* 4 byte 转换为float类型
|
*
|
* @param b1
|
* @param b2
|
* @param b3
|
* @param b4
|
* @return
|
*/
|
public static float byteToFloat(byte b1, byte b2, byte b3, byte b4) {
|
byte[] mByte = new byte[4];
|
mByte[0] = b1;
|
mByte[1] = b2;
|
mByte[2] = b3;
|
mByte[3] = b4;
|
return byteArrayToFloat(mByte);
|
}
|
|
/**
|
* byte[4]数组 转换为float类型
|
*
|
* @param arr 长度为4
|
* @return
|
*/
|
public static float byteArrayToFloat(byte[] arr) {
|
try {
|
return Float.intBitsToFloat(getInt(arr));
|
} catch (Exception e) {
|
e.printStackTrace();
|
return 0;
|
}
|
}
|
|
/**
|
* 连续4个字节获得一个int
|
*
|
* @param arr
|
* @return int
|
*/
|
public static int getInt(byte[] arr) {
|
return (0xff000000 & (arr[0] << 24)) |
|
(0x00ff0000 & (arr[1] << 16)) |
|
(0x0000ff00 & (arr[2] << 8)) |
|
(0x000000ff & arr[3]);
|
}
|
|
/**
|
* float转换为byte[4]数组
|
*
|
* @param f
|
* @return
|
*/
|
public static byte[] getByteArray(float f) {
|
int intbits = Float.floatToIntBits(f);//将float里面的二进制串解释为int整数
|
return getByteArray(intbits);
|
}
|
|
|
}
|