package com.hdl.sdk.ttl.Utils.HDLUtlis;
|
|
import java.math.BigDecimal;
|
import java.nio.ByteBuffer;
|
|
/**
|
* Created by JLChen on 2019/7/25
|
*/
|
public class HDLUtlis {
|
|
/**
|
* 将object转为Integer类型
|
* @param object
|
* @return
|
*/
|
public static Integer getIntegerByObject(Object object){
|
Integer in = null;
|
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;
|
}
|
|
/**
|
* int类型转4字节byte数组
|
* @param mInt
|
* @return 4字节byte数组
|
*/
|
public static byte[] intToByteArray(int mInt) {
|
byte[] result = new byte[4];
|
// 由高位到低位
|
result[0] = (byte) ((mInt >> 24) & 0xFF);
|
result[1] = (byte) ((mInt >> 16) & 0xFF);
|
result[2] = (byte) ((mInt >> 8) & 0xFF);
|
result[3] = (byte) (mInt & 0xFF);
|
return result;
|
}
|
|
/**
|
* byte[]转int
|
* @param bytes
|
* @return
|
*/
|
public static int byteArrayToInt(byte[] bytes) {
|
int value = 0;
|
// 由高位到低位
|
for (int i = 0; i < 4; i++) {
|
int shift = (4 - 1 - i) * 8;
|
value += (bytes[i] & 0x000000FF) << shift;// 往高位游
|
}
|
return value;
|
}
|
|
|
public static float byte2Float(byte[] bytes) {
|
if (bytes.length != 4) {
|
return 0;
|
}
|
byte b[] = bytes;
|
ByteBuffer buf = ByteBuffer.allocateDirect(4);
|
// buf=buf.order(ByteOrder.LITTLE_ENDIAN);小端用这行代码,默认大端转换
|
buf.put(b);
|
buf.rewind();
|
float f2 = buf.getFloat();
|
return f2;
|
}
|
|
/**
|
* 调整int 类型参数
|
* @return progress
|
*/
|
public static int getTrueProgressInt(int progress) {
|
if (progress < 0) {
|
progress = 0;
|
} else if (progress > 100) {
|
progress = 100;
|
}
|
return progress;
|
}
|
}
|