左晓为主开发手持机充值管理机
zuoxiao
2024-06-13 d1573513f0eada6a915c2163ce6c84451c8c1070
baselibrary/src/main/java/com/dayu/baselibrary/tools/HexUtil.java
@@ -58,6 +58,29 @@
        return ((data & 0xF0) >> 4) * 10 + ((data & 0x0F));
    }
    public static byte[] getIntToBCD(int number) {
        // 获取整数的字符串表示形式
        String numberStr = Integer.toString(number);
        // 创建一个字节数组以存储BCD表示
        int len = numberStr.length();
        byte[] bcd = new byte[(len + 1) / 2];
        int j = 0;
        // 如果数字的长度是奇数,需要在前面添加一个0
        if (len % 2 != 0) {
            numberStr = "0" + numberStr; // 先添加前导零
            len++;
        }
        // 将每一对数字转换为一个字节
        for (int i = 0; i < len; i += 2) {
            bcd[j++] = (byte) (((numberStr.charAt(i) - '0') << 4) | (numberStr.charAt(i + 1) - '0'));
        }
        return bcd;
    }
    /**
     * short10进制转16进制 低位在前高位在后
     *