package com.zy.common.utils; import com.core.common.RadixTools; import java.math.BigDecimal; /** * Created by vincent on 2020-06-03 */ public class CommonUtils { public static Integer parseInt(Object value){ if(null == value){ return null; } String name = value.getClass().getSimpleName().toLowerCase(); if(name.equals("float")){ return ((Float)value).intValue(); } else if(name.equals("double")){ return ((Double)value).intValue(); } else if(name.equals("bigdecimal")) { return ((BigDecimal)value).intValue(); } else if(name.equals("long")) { return ((Long)value).intValue(); } else if(name.contains("int")) { return (Integer)value; } else { return Double.valueOf(""+value).intValue(); } } //int转short数组 public static short[] intToShorts(int num) { //先将int转为byte数组,再将byte数组转成两个short,分别占用4和5空间 byte[] bytes = RadixTools.intToBytes(num); byte[] tmp1 = {bytes[0], bytes[1]}; short byteToShort = RadixTools.byteToShort(tmp1); byte[] tmp2 = {bytes[2], bytes[3]}; short byteToShort2 = RadixTools.byteToShort(tmp2); return new short[]{byteToShort, byteToShort2}; } public static boolean intToBoolean(Integer num) { return num != 0; } public static boolean shortToBoolean(Short num) { return num != 0; } //从row、bay、lev参数获取完整库位号 public static String getLocNoFromRBL(Integer row, Integer bay, Integer lev) { StringBuffer sb = new StringBuffer(); if (row < 10) { sb.append("0"); } sb.append(row); if (bay < 10) { sb.append("00"); } else if (bay < 100) { sb.append("0"); } sb.append(bay); if (lev < 10) { sb.append("0"); } sb.append(lev); return sb.toString(); } public static int[] byteToBits(byte by) { StringBuffer sb = new StringBuffer(); sb.append((by >> 0) & 0x1); sb.append((by >> 1) & 0x1); sb.append((by >> 2) & 0x1); sb.append((by >> 3) & 0x1); sb.append((by >> 4) & 0x1); sb.append((by >> 5) & 0x1); sb.append((by >> 6) & 0x1); sb.append((by >> 7) & 0x1); int[] data = new int[8]; for (int i = 0; i < sb.length(); i++) { data[i] = Integer.parseInt(String.valueOf(sb.charAt(i))); } return data; } public static String bytesToBarcode(byte[] bytes) { StringBuffer sb = new StringBuffer(); for (byte by : bytes) { sb.append(by); } return sb.toString(); } }