public static Float parseHexIntLongToFloat(String value, boolean bigEndian) {
        String valueP = prepareNumberString(value, bigEndian);
        if (valueP != null) {
            int radixValue = isValidStringAndRadix(valueP, HEX_RADIX, value);
            if (radixValue == HEX_RADIX) {
                int bits = (int) Long.parseLong(valueP, HEX_RADIX);
                // If the length is not equal to 8 characters, we process it as an integer (eg "0x0A" for 10.0f).
                float floatValue = (float) bits;
                return Float.valueOf(floatValue);
            }
        }
        return null;
    }
@Test
    public void parseHexIntLongToFloat_Test() {
        Float valueExpected = 10.0f;
        Float valueActual = TbUtils.parseHexIntLongToFloat("0x0A", true);
        Assertions.assertEquals(valueExpected, valueActual);
        valueActual = TbUtils.parseHexIntLongToFloat("0x0A", false);
        Assertions.assertEquals(valueExpected, valueActual);
        valueActual = TbUtils.parseHexIntLongToFloat("0x00000A", true);
        Assertions.assertEquals(valueExpected, valueActual);
        valueActual = TbUtils.parseHexIntLongToFloat("0x0A0000", false);
        Assertions.assertEquals(valueExpected, valueActual);
        valueExpected = 2570.0f;
        valueActual = TbUtils.parseHexIntLongToFloat("0x000A0A", true);
        Assertions.assertEquals(valueExpected, valueActual);
        valueActual = TbUtils.parseHexIntLongToFloat("0x0A0A00", false);
        Assertions.assertEquals(valueExpected, valueActual);
    }